/* Legibility and controls, preserving the existing composition and signature. */
.hero-description { max-width:39ch; }
.intro>h2 { font-size:clamp(35px,3.55vw,57px); }
.intro-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:72px; margin-top:42px; }
.company-ai { margin:0; padding:0; border:0; scroll-margin-top:100px; }
.company-harness { margin-top:26px; }
.company-philosophy h3,.company-ai h3 { font-size:18px; font-weight:600; letter-spacing:-.02em; line-height:1.4; margin-bottom:16px; }
.intro-grid .company-ai p { font-size:15px; margin-bottom:20px; color:#536153; }
.intro-grid .company-ai p:last-child { margin-bottom:0; }
.supporting-technology { margin-top:24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.supporting-technology summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:14px 0; list-style:none; font-size:15px; font-weight:600; cursor:pointer; }
.supporting-technology summary::-webkit-details-marker { display:none; }
.supporting-technology summary::after { content:''; width:28px; height:28px; flex-shrink:0; border:1px solid var(--line); border-radius:50%; background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 12px no-repeat; }
.supporting-technology[open] summary::after { background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat; }
.supporting-technology summary:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.supporting-technology ul { margin:0; padding:4px 0 20px 20px; font-size:14px; line-height:1.65; color:#536153; }
.supporting-technology li { margin-bottom:12px; }
.supporting-technology li:last-child { margin-bottom:0; }
.supporting-technology strong { color:var(--ink); }
@media(max-width:800px) {
  .intro-grid { grid-template-columns:1fr; gap:34px; margin-top:32px; }
  .intro>h2 { font-size:47px; }
}
@media(max-width:520px) {
  .intro>h2 { font-size:39px; }
  .intro-grid p,.intro-grid .company-ai p { font-size:14px; }
}
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#5a6852; }
.contact-field-hint,.contact-privacy { color:#4e6044; font-size:13px; }
.contact-form-heading .eyebrow,.contact-thanks-card .eyebrow { color:#4e6044; font-size:11px; }
.contact-form-heading p:last-child { color:#4e6044; font-size:15px; }
.contact-field label { font-size:14px; }
.contact-context { color:#34452e; font-size:14px; padding:12px 14px; margin:0 0 22px; background:#e6ebdc; border-radius:6px; }
.contact-recovery { margin-top:20px; font-size:14px; color:#34452e; }
.contact-recovery button { display:block; margin-top:12px; }
.contact-help { margin:14px 0 0; font-size:13px; color:#4e6044; }
.contact-help a,.privacy-content a { text-decoration:underline; text-underline-offset:3px; }
.contact-page-card { width:100%; max-width:680px; background:var(--paper); color:var(--ink); border-radius:16px; overflow:hidden; }
.contact-page-card h1 { font-size:clamp(36px,6vw,48px); letter-spacing:-.05em; line-height:1.12; margin-bottom:16px; }
.contact-page-card h1 em { font-family:Georgia,serif; font-weight:400; }
.privacy-content { max-width:780px; margin:auto; padding:60px 24px 80px; }
.privacy-content h1 { font-size:clamp(38px,6vw,64px); letter-spacing:-.04em; line-height:1.05; margin:0 0 28px; }
.privacy-content h2 { font-size:25px; letter-spacing:-.025em; margin:30px 0 12px; line-height:1.2; }
.privacy-content p,.privacy-content ul { margin:0 0 18px; max-width:70ch; }
.privacy-content .eyebrow { margin-bottom:16px; }
.visual-category { font-size:11px; }
.visual-note { font-size:10px; opacity:.9; letter-spacing:.06em; }
.stage { font-size:12px; }
.filters button { font-size:13px; min-height:44px; }
.filters button span { font-size:11px; opacity:1; }
.theme-selector { flex-wrap:wrap; }
.theme-selector button { font-size:12px; min-height:44px; padding:9px; color:#bfceb1; }
.orbit-controls button { min-width:44px; min-height:44px; font-size:12px; padding:8px; color:#bfceb1; }
.orbit-controls #orbit-left,.orbit-controls #orbit-right { width:44px; }
.orbit-controls #orbit-left,.orbit-controls #orbit-right { border:1px solid #bfceb144; border-radius:50%; }
.orbit-controls { gap:5px; bottom:98px; flex-wrap:wrap; }
.orbit-controls>span { display:none; }
.orbital-wrap .theme-selector { bottom:48px; }
.orbital-wrap .theme-caption { font-size:12px; line-height:1.5; bottom:0; max-width:100%; }
.orbit-stage { bottom:160px; }
.orbit-hint { font-size:11px; color:#c4d4b5; }
.orbit-ready .orbit-label { font-size:10px; letter-spacing:.04em; gap:6px; }
.orbit-stage .orbit-label { pointer-events:auto; z-index:4; min-height:32px; align-items:center; cursor:pointer; }
.label-four { right:6%; top:15%; }
.orbit-stage .orbit-label:hover, .orbit-stage .orbit-label:focus-visible { color:var(--lime); border-color:var(--lime); background:#24342d; opacity:1!important; }
.orbital-corner { font-size:9px; }
.footer-bottom p { font-size:12px; color:#bac8af; }
.footer-bottom>div>span { font-size:10px; color:#a9bc9b; }
.footer-bottom>div { gap:10px; }
.footer-button { font-size:13px; min-height:44px; }
.footer-actions { display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:flex-end; }
.footer-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.dialog-close,.contact-dialog .dialog-close { min-width:44px; min-height:44px; }
.contact-dialog .dialog-close { top:12px; right:12px; }
.contact-form-heading .eyebrow { padding-right:42px; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:3px solid currentColor; outline-offset:5px;
}
.contact-field input:focus,.contact-field textarea:focus { outline:3px solid #465d36; outline-offset:3px; }
/* The globe remains borderless. A visible instruction marker identifies its focus. */
.orbit-canvas:focus,.orbit-canvas:focus-visible { outline:none; }
.orbit-canvas:focus-visible~.orbit-hint { color:var(--lime); text-decoration:underline; text-underline-offset:5px; }
.orbit-canvas:focus-visible~.orbit-hint::before { content:'● '; }
.orbit-stage:has(.orbit-canvas:focus-visible) { filter:drop-shadow(0 0 10px #d9fa8455); }
.dc-effects-reduced { scroll-behavior:auto; }
.dc-effects-reduced *, .dc-effects-reduced *::before, .dc-effects-reduced *::after {
  animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important;
}
.dc-effects-reduced .dc-fluid-layer { display:none!important; }
.orbit-canvas { z-index:1; }
/* Each venture keeps its own secondary colour on hover and keyboard focus. */
.pitch { --venture-accent:#d9fa84; --venture-accent-ink:#16211e; }
.engineering { --venture-accent:#315b6a; --venture-accent-ink:#f3f7f8; }
.optionality { --venture-accent:#40513a; --venture-accent-ink:#e9e3c9; }
.investor { --venture-accent:#e4c8ab; --venture-accent-ink:#452f3a; }
.sponsor { --venture-accent:#92ab78; --venture-accent-ink:#234238; }
.purple { --venture-accent:#6f5a9e; --venture-accent-ink:#f0ebfa; }
.dealroom { --venture-accent:#b5c2a6; --venture-accent-ink:#33413b; }
.thrill { --venture-accent:#f8ead1; --venture-accent-ink:#4d3929; }
.drone { --venture-accent:#3c6050; --venture-accent-ink:#f3f7f3; }
.card-open:hover .card-arrow,.card-open:focus-visible .card-arrow {
  background:var(--venture-accent); border-color:var(--venture-accent);
  color:var(--venture-accent-ink); transform:rotate(45deg);
}
/* Comfortable globe links and readable form fields on smaller screens. */
@media(max-width:800px),(pointer:coarse) {
  .orbit-stage .orbit-label { min-height:44px; padding:8px 10px; }
  .orbit-ready .orbit-label { font-size:11px; }
  .search-box input { font-size:16px; min-height:44px; }
  .text-link { min-height:44px; align-items:center; }
  .footer-top>a:not(.wordmark) { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
}
@media(max-width:800px) {
  .venture-visual { padding:18px 19px; }
  .visual-category { position:relative; top:auto; left:auto; display:block; max-width:calc(100% - 90px); }
  .visual-title { position:relative; top:auto; left:auto; margin-top:14px; }
  .dialog-hero .eyebrow { max-width:calc(100% - 44px); }
  .stage { font-size:12px; }
  .visual-category { font-size:11px; }
  .visual-note { font-size:10px; }
  .footer-actions { justify-content:flex-start; }
}
@media(max-width:520px) {
  .venture-visual { padding:23px; }
  .visual-category { position:relative; top:auto; left:auto; display:block; max-width:calc(100% - 90px); }
  .visual-title,.venture-card.compact .visual-title { position:relative; top:auto; left:auto; margin-top:16px; font-size:clamp(24px,7.4vw,30px); }
  .hero-description { max-width:100%; font-size:16px; }
  .orbital-wrap { height:490px; }
  .orbit-stage { inset:26px 0 170px; }
  .orbit-controls { bottom:105px; gap:2px; }
  .orbit-controls button { font-size:11px; padding:6px; }
  .orbit-hint { font-size:10px; }
  .orbital-wrap .theme-selector { bottom:54px; }
  .orbital-wrap .theme-caption { font-size:12px; }
  .theme-selector button { font-size:11px; padding:6px; }
  .orbit-ready .orbit-label { font-size:10px; padding:4px; gap:3px; }
  .filters { flex-wrap:wrap; }
  .filters button { font-size:12px; }
  .card-meta { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .card-name { max-width:100%; }
  .stage { max-width:100%; text-align:left; }
  .visual-category { max-width:calc(100% - 140px); font-size:10px; }
  .visual-note { font-size:10px; }
  .footer-bottom>div { flex-direction:column; align-items:flex-start; gap:14px; }
  .footer-bottom>div>span { font-size:10px; }
  .contact-page-card .contact-form-heading { padding-right:24px; }
}


/* Remove decorative arrow glyphs that iOS renders as coloured emoji. */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
  .direction-arrow { display:none!important; }
  .feature-list li::before { content:none; }
}
