/* Company presentation. Existing experience and player styles remain in styles.css. */
:root { --ink: #100c13; --ink-soft: #17111b; --white: #f3eee5; --muted: #bdb3bf; --dim: #a69ba9; --purple: #c5a7df; --pink: #d0b0e8; --gold: #e7be7a; --line: rgba(232,217,239,.16); }
body { background: var(--ink); }
.cosmos { background: linear-gradient(160deg, #17101d 0%, #0d0a10 55%, #18101c 100%); }
.cosmos__field { opacity: .1; }
.cosmos__glow { opacity: .045; animation: none; }
.site-header { background: rgba(16,12,19,.94); width: 100%; padding-inline: max(22px, calc((100vw - 1220px)/2)); border-bottom: 1px solid var(--line); }
.site-header.scrolled { width: calc(100% - 24px); padding-inline: 24px; background: rgba(16,12,19,.95); }
.brand { font-size: 1.05rem; white-space: nowrap; }
.brand i { background: var(--gold); box-shadow: none; }
.site-nav { gap: 25px; font-size: .68rem; letter-spacing: .08em; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
section[id], article[id], #artists, #nova-personal { scroll-margin-top: 115px; }
.company-hero { padding-block: clamp(145px, 16vw, 210px) 72px; display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 40px; }
.company-hero h1 { font-size: clamp(4rem, 8.6vw, 7.4rem); font-weight: 480; line-height: .96; letter-spacing: -.065em; }
.company-hero h1 em { font-weight: 400; font-family: var(--serif); color: #cfb3e1; }
.company-hero__statement { font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.3; margin: 34px 0 20px; letter-spacing: -.025em; }
.company-hero__mission { color: var(--muted); max-width: 490px; font-size: 1rem; line-height: 1.8; }
.company-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 32px; }
.button--bright { background: #dfc9ed; box-shadow: none; color: #1a1020; }
.button--bright:hover { box-shadow: 0 0 0 4px rgba(207,179,225,.13); }
.resonance-art { width: 100%; min-width: 0; transition: transform .35s ease; position: relative; background: radial-gradient(ellipse, rgba(139,98,160,.09), transparent 66%); }
.resonance-art svg { display: block; width: 100%; overflow: visible; }
.resonance-art__guide { fill: none; stroke: #c5a3dd; stroke-opacity: .12; stroke-dasharray: 2 8; }
.resonance-art__rings { stroke-width: 1; opacity: .75; }
.resonance-art__labels { fill: #c8b3d2; font-family: var(--sans); font-size: 9px; letter-spacing: 2px; }
.resonance-art > p { text-align: center; font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.featured-work { padding-top: 44px; padding-bottom: 70px; }
.company-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.company-section-heading h2 { font-size: clamp(2.4rem, 4.3vw, 3.9rem); line-height: 1.04; }
.company-section-heading > p { max-width: 300px; color: var(--muted); }
.featured-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.featured-piece { display: flex; flex-direction: column; min-width: 0; }
.featured-piece > img { height: auto; aspect-ratio: 1.4; object-fit: cover; border-radius: 4px; filter: saturate(.8); transition: filter .3s; }
.featured-piece:hover > img { filter: saturate(1); }
.featured-piece > div:not(.portrait-motion) { display: flex; flex-direction: column; flex: 1; padding: 22px 0 24px; border-bottom: 1px solid var(--line); }
.featured-piece .micro { font-size: .6rem; letter-spacing: .1em; color: #c9b2d6; margin-bottom: 10px; }
.featured-piece h3 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: 1.9rem; letter-spacing: -.025em; }
.featured-piece p:not(.micro) { color: var(--muted); font-size: .85rem; line-height: 1.65; min-height: 2.8em; }
.featured-piece span, .featured-piece__action { margin-top: auto; color: #e7c58f; font-size: .75rem; }
.portrait-motion { position: relative; flex: none; min-width: 0; width: 100%; aspect-ratio: 1.4; overflow: hidden; border-radius: 4px; background: #e2d2bd; isolation: isolate; }
.portrait-motion__link { position: absolute; inset: 0; display: block; }
.portrait-motion img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.portrait-motion__primary { filter: saturate(.8); }
.portrait-motion__create { opacity: 0; transform: translateX(1.8%) scale(1.015); transition: opacity .55s ease-out, transform .7s cubic-bezier(.2,.7,.2,1); }
.portrait-motion.is-flashing .portrait-motion__create { opacity: 1; transform: translateX(0) scale(1); transition-duration: .3s, .6s; }
.portrait-motion__toggle { position: absolute; z-index: 2; right: 10px; bottom: 10px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(243,238,229,.45); border-radius: 50%; background: rgba(16,12,19,.72); color: var(--white); cursor: pointer; opacity: .8; }
.portrait-motion__toggle:hover, .portrait-motion__toggle:focus-visible { opacity: 1; background: rgba(16,12,19,.92); }
.portrait-motion__toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.portrait-motion__play, .portrait-motion__toggle[aria-pressed="true"] .portrait-motion__pause { display: none; }
.portrait-motion__toggle[aria-pressed="true"] .portrait-motion__play { display: block; }
.portrait-motion__toggle[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .portrait-motion__create { display: none; transition: none; }
  .portrait-motion__toggle { display: none; }
}
.experience-links { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-top: 25px; color: var(--muted); font-size: .78rem; }
.structure { border-top: 1px solid var(--line); padding-block: 75px 90px; }
.structure .section-heading { text-align: left; margin-left: 0; }
.structure h2 { font-size: clamp(2.5rem,4.5vw,4.2rem); }
.structure .branch-grid { gap: 20px; }
.structure .branch-card { background: rgba(211,181,230,.025); border-color: var(--line); box-shadow: none; border-radius: 4px; }
.structure .branch-card:hover { background: rgba(211,181,230,.06); }
.structure .branch-card::before { opacity: .12; }
.collective-artists { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-block: 30px; padding-block: 18px; border-block: 1px solid var(--line); font-size: .75rem; color: #d8c5e4; }
.nova-personal { margin: 24px 0; border-block: 1px solid var(--line); background: rgba(255,255,255,.025); }
.nova-profile-artwork { max-width: 360px; margin: 24px 0 0; scroll-margin-top: 115px; }
.nova-profile-artwork img { display: block; width: 100%; height: auto; border-radius: 4px; }
.nova-profile-artwork figcaption { margin-top: 10px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.nova-personal summary { cursor: pointer; padding: 20px; font-size: 1rem; }
.nova-personal summary span { float: right; color: var(--muted); font-size: .7rem; padding-top: 4px; }
.nova-personal__content { padding: 0 24px 28px; color: var(--muted); font-size: .95rem; }
.nova-personal__content .founder-profile__lead { font-size: 1rem; color: var(--white); }
.nova-personal__content h4 { color: var(--white); }
.nova-personal__content blockquote { margin: 24px 0; padding-left: 18px; border-left: 1px solid var(--gold); }
.personal-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.personal-facts article { padding: 16px; border: 1px solid var(--line); }
.personal-facts article > span { color: var(--gold); font-size: .7rem; }
.personal-facts h4 { margin: 8px 0; }
.personal-facts p { margin: 0; }
.nova-personal .founder-orbit__motto { display: block; text-align: left; background: none; border-radius: 0; }
.nova-personal .founder-orbit__motto span { display: block; margin-bottom: 10px; }
.nova-personal .founder-orbit__motto strong { font-size: 1rem; color: var(--white); }
.company-founders { border-top: 1px solid var(--line); padding-block: 80px; }
.company-founders__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.company-founders__grid article { border-top: 1px solid var(--line); padding-top: 25px; }
.company-founders h3 { font-size: 1.25rem; font-weight: 500; }
.company-founders h3 em { display: block; font-size: .85rem; font-style: normal; color: #cbb3dd; margin-top: 10px; }
.company-founders__grid article > p:not(.micro) { max-width: 460px; color: var(--muted); font-size: .95rem; line-height: 1.75; }
.company-closing { text-align: center; border-top: 1px solid var(--line); padding-block: 100px; }
.company-closing h2 { font-size: clamp(2.8rem,6vw,5.6rem); line-height: 1.02; }
.company-closing > p:not(.eyebrow) { max-width: 54ch; margin: 30px auto; color: var(--muted); line-height: 1.75; }
.company-closing nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; margin-bottom: 36px; }
/* Light draft polish: spacing, reading rhythm, and keyboard clarity. */
main > :is(#studios, #metta-momentum, #core-drift, #observatory, #labs, #work, #now-next, #contact) { padding-block: clamp(84px, 10vw, 144px); }
.section-heading h2 { line-height: 1.03; }
.section-heading--split > p { max-width: 48ch; line-height: 1.75; }
.nova-personal__content > p { max-width: 66ch; line-height: 1.75; }
.company-hero__actions .button, .contact__copy .button { line-height: 1.4; }
.company-hero__actions .button:active, .contact__copy .button:active { border-color: var(--gold); }
.company-hero__actions .button:focus-visible, .contact__copy .button:focus-visible, .featured-piece:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; box-shadow: 0 0 0 2px var(--ink); }
.company-hero__actions .line-link:hover, .company-closing .line-link:hover { text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 1000px) { .company-hero { gap: 10px; } .site-nav { gap: 16px; } }
@media (max-width: 780px) {
  .site-header { padding-inline: 22px; }
  .company-hero { grid-template-columns: 1fr; padding-top: 130px; gap: 20px; }
  .company-hero h1 { font-size: clamp(4rem,13vw,6.5rem); }
  .company-hero__mission { max-width: 580px; }
  .resonance-art { width: min(100%,420px); justify-self: center; margin-top: -10px; }
  .featured-grid { gap: 18px; }
  .featured-piece h3 { font-size: 1.45rem; }
  .company-section-heading { align-items: start; flex-direction: column; gap: 18px; }
  .company-founders__grid { gap: 30px; }
}
@media (max-width: 560px) {
  .featured-grid { grid-template-columns: 1fr; gap: 28px; }
  .featured-piece { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; align-items: start; }
  .featured-piece > img { aspect-ratio: .85; }
  .portrait-motion { aspect-ratio: .85; }
  .featured-piece > div:not(.portrait-motion) { padding: 0 0 20px; }
  .featured-piece p:not(.micro) { font-size: .8rem; min-height: 0; }
  .featured-piece .micro { font-size: .55rem; line-height: 1.6; }
  .company-founders__grid, .personal-facts { grid-template-columns: 1fr; }
  .nova-personal summary span { float: none; display: block; margin-left: 18px; }
  .company-hero__actions { gap: 20px; }
}

/* Connection-focused brand handoff: a proposed education pilot, alongside existing Labs work. */
.collaboration-lab { margin-top: 32px; padding: clamp(24px,3.5vw,42px); display: grid; grid-template-columns: 1.05fr 1fr; gap: 28px 48px; border: 1px solid var(--line); border-radius: 4px; background: rgba(211,181,230,.035); }
.collaboration-lab .micro { color: #c9b2d6; font-size: .65rem; letter-spacing: .1em; line-height: 1.6; }
.collaboration-lab h3 { margin: 12px 0 18px; font: 400 clamp(2rem,3.4vw,3rem)/1.08 var(--serif); letter-spacing: -.025em; }
.collaboration-lab h3 em { color: #cfb3e1; font-weight: 400; }
.collaboration-lab p, .collaboration-lab dd { color: var(--muted); font-size: .9rem; line-height: 1.75; max-width: 58ch; }
.collaboration-lab blockquote { margin: 4px 0 24px; font: 400 clamp(1.4rem,2.2vw,1.8rem)/1.4 var(--serif); color: var(--white); }
.collaboration-lab summary { display: flex; justify-content: space-between; gap: 14px; padding: 14px 0; cursor: pointer; border-block: 1px solid var(--line); font-size: .8rem; color: #e7c58f; }
.collaboration-lab summary::marker { content: ''; }
.collaboration-lab summary::-webkit-details-marker { display: none; }
.collaboration-lab summary span { flex: none; }
.collaboration-lab details[open] summary span { transform: rotate(45deg); }
.collaboration-lab__details { padding-top: 10px; }
.collaboration-lab .collaboration-lab__cycle { color: #e7c58f; font-size: .8rem; }
.collaboration-lab dl { margin: 22px 0; }
.collaboration-lab dt { margin: 18px 0 6px; color: var(--white); font-size: .85rem; }
.collaboration-lab dd { margin: 0; }
.collaboration-lab .collaboration-lab__note { font-size: .78rem; }
@media (max-width: 780px) { .collaboration-lab { grid-template-columns: 1fr; gap: 24px; } }
