/* Requested palette and spacious, numbered footer. */
:root { background:var(--color-gallery-white); --blue:var(--color-pricing-blue); }
body { background:var(--color-gallery-white); color:var(--color-ink); }
.scene:not(.has-media) { background:var(--color-gallery-white); color:var(--color-ink); }
.scene:nth-child(2n):not(.has-media) { background:var(--color-studio-mist); }
.scene:not(.has-media) .scene-description p { color:var(--color-ink); }
.scene:not(.has-media) .trust-logos img { filter:brightness(0); }
.scene:not(.has-media) .partner-more { color:var(--color-ink); }
.scene:not(.has-media) .action { color:var(--color-apple-blue); border-color:var(--color-hairline-silver); }
.scene.has-media { background:var(--color-ink); color:var(--color-gallery-white); }
.navigation.on-light,.inner-page .navigation { background:color-mix(in srgb,var(--color-gallery-white) 94%,transparent); border-color:var(--color-control-gray); }
.projects-dropdown,.mobile-menu { background:var(--color-paper-frost); }
.project-menu-card:hover { background:var(--color-control-gray); }
.desktop-links [aria-current=page],.inner-page .desktop-links [aria-current=page] { background:var(--color-control-gray); }
.action-dark { background:var(--color-pricing-blue); border-color:var(--color-pricing-blue); color:var(--color-gallery-white); }
.eyebrow,.info-index,.page-lead,.info-grid p,.company-statement p,.company-project p:not(.eyebrow),.purchase-section p:not(.eyebrow),.page-note p { color:var(--color-slate); }
.product-status { color:var(--color-launch-orange); }

/* Team cards expand from their current width; no jumping text or layout reordering. */
.team-member { flex:1; cursor:pointer; transition:flex-grow 420ms var(--ui-ease); outline-offset:5px; border-radius:14px; }
.team-member-ceo { flex-grow:1; }
.team-member.is-active { flex-grow:2.6; }
.team-member>.team-card { width:100%; }
.team-card-ceo { background:var(--color-ink); }
.portrait-placeholder { background:var(--color-ink); }
.member-info { background:none; opacity:0; transform:translateY(8px); transition:opacity 180ms ease,transform 260ms var(--ui-ease); }
.team-member.is-active .member-info { opacity:1; transform:none; transition-delay:100ms; }
.member-info h2 { white-space:normal; width:330px; max-width:100%; }
.member-role { color:var(--color-control-gray); }
.team-member-empty .team-card { background:var(--color-studio-mist); }
.team-member-empty.is-active .team-card { background:var(--color-control-gray); }
.team-card { transition:background-color 280ms ease; }
.empty-number { color:var(--color-steel); }
html.keyboard-input .team-member,html.keyboard-input .member-info { transition:none; }

.footer-editorial { background:var(--color-studio-mist); padding:96px var(--gutter) 32px; }
.footer-editorial .footer-top { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(60px,8vw,150px); }
.footer-editorial .footer-left { min-width:0; }
.footer-editorial .footer-brand { display:block; margin:0; width:100%; max-width:560px; }
.footer-editorial .footer-brand img { display:block; width:100%; height:auto; }
.footer-editorial .footer-contact { margin-top:82px; max-width:560px; }
.footer-editorial .footer-contact h2 { font:500 26px/1.2 var(--display); letter-spacing:-.035em; }
.footer-editorial .footer-contact>p { color:var(--color-slate); font-size:17px; line-height:1.5; margin-top:10px; }
.footer-editorial .contact-start { margin-top:28px; background:var(--color-gallery-white); padding:6px; border:1px solid transparent; border-radius:40px; gap:0; transition:border-color 180ms ease,box-shadow 180ms ease; }
.footer-editorial .contact-start:focus-within { border-color:var(--color-apple-blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-apple-blue) 10%,transparent); }
.footer-editorial .contact-start input { padding:16px 18px; font-size:16px; color:var(--color-ink); outline:none; }
.footer-editorial .contact-start input::placeholder { color:var(--color-slate); opacity:1; }
.footer-editorial .contact-start button { flex-shrink:0; min-height:52px; padding:14px 26px; font-size:15px; font-weight:500; background:var(--color-ink); color:var(--color-gallery-white); transition:background-color 240ms ease,transform 150ms ease; }
.footer-editorial .contact-start button:active { transform:scale(.98); }
.footer-editorial .contact-start button:disabled { background:var(--color-control-gray); color:var(--color-slate); cursor:wait; }
.footer-editorial .contact-start[hidden] { display:none; }
.footer-editorial .footer-contact-status { font-size:13px; line-height:1.5; margin-top:12px; color:var(--color-ink); }
.footer-contact-status:empty { display:none; }
.footer-editorial .footer-contact-status[data-state=error] { color:var(--color-launch-orange); }
.footer-editorial .footer-discuss { display:inline-flex; align-items:center; min-height:44px; margin-top:70px; font-size:16px; font-weight:500; color:var(--color-apple-blue); transition:color 220ms ease; }
.footer-editorial .numbered-links a { padding:23px 0 29px; gap:24px; border-color:var(--color-hairline-silver); font-family:var(--display); transition:color 220ms ease; color:var(--color-ink); }
.footer-editorial .numbered-links>:first-child { padding-top:0; }
.footer-editorial .numbered-links>:last-child { border:0; padding-bottom:0; }
.footer-editorial .footer-index { font:400 clamp(18px,1.6vw,26px)/1 var(--display); flex:0 0 34px; letter-spacing:-.04em; }
.footer-editorial .footer-link-label { font:400 clamp(30px,3.65vw,68px)/1.2 var(--display); letter-spacing:-.045em; flex:1; min-width:0; }
.footer-editorial .footer-bottom { margin-top:84px; padding-top:24px; border-top:0; color:var(--color-slate); font-size:12px; }
@media(hover:hover) and (pointer:fine) {
  .desktop-links>a:hover,.desktop-links>button:hover { color:var(--color-apple-blue); background:var(--color-control-gray); }
  .scene:not(.has-media) .action:hover,.action-dark:hover { background:var(--color-apple-blue); color:var(--color-gallery-white); border-color:var(--color-apple-blue); }
  .footer-editorial .contact-start button:hover:not(:disabled) { background:var(--color-pricing-blue); }
  .footer-editorial .numbered-links a:hover { color:var(--color-apple-blue); opacity:1; }
  .footer-editorial .footer-discuss:hover { color:var(--color-pricing-blue); }

}
@media(max-width:1000px) and (min-width:801px) {
  .footer-editorial .footer-top { gap:48px; }
  .footer-editorial .contact-start input { font-size:14px; padding-left:12px; }
  .footer-editorial .contact-start button { padding:14px 18px; }
  .footer-editorial .footer-link-label { font-size:32px; }
}
@media(max-width:800px) {
  .team-member.is-active { flex-grow:4.5; }
  .footer-editorial { padding:64px var(--gutter) 28px; }
  .footer-editorial .footer-top { grid-template-columns:1fr; gap:56px; }
  .footer-editorial .footer-brand { max-width:480px; }
  .footer-editorial .footer-contact { margin-top:42px; max-width:560px; }
  .footer-editorial .footer-contact h2 { font-size:23px; }
  .footer-editorial .footer-contact>p { font-size:15px; }
  .footer-editorial .contact-start { margin-top:22px; }
  .footer-editorial .contact-start input { padding:12px; font-size:16px; }
  .footer-editorial .contact-start input::placeholder { font-size:12px; }
  .footer-editorial .contact-start button { min-height:46px; padding:12px 17px; font-size:13px; }
  .footer-editorial .footer-discuss { margin-top:28px; }
  .footer-editorial .numbered-links a { padding:22px 0; gap:20px; }
  .footer-editorial .footer-index { font-size:18px; flex-basis:24px; }
  .footer-editorial .footer-link-label { font-size:clamp(27px,7vw,42px); }
  .footer-editorial .footer-bottom { margin-top:46px; }
}
@media(prefers-reduced-motion:reduce) { .team-member,.member-info { transition:none; } .member-info { transform:none; } }
