/* Shared navigation and CTA states for all Orbit pages. */
:root { --ui-ease: cubic-bezier(.22,1,.36,1); }
body .btn, body .tour-button { min-height: 46px; padding: .8rem 1.4rem; border-radius: 999px; gap: .8rem; font: 500 .88rem/1.2 var(--font-sans); letter-spacing: -.01em; border-width: 1px; box-shadow: none; transition: background .3s var(--ui-ease),color .3s,border-color .3s,transform .2s var(--ui-ease); }
body .btn::before { display: none; }
body .btn.btn-primary, body .tour-button-primary { background: #f3f5f8; color: #11151d; border-color: #f3f5f8; }
body .btn.btn-secondary, body .btn.btn-glass, body .tour-button-secondary { background: #121720; color: #f3f5f8; border-color: #424b59; }
body .btn.btn-primary:hover, body .tour-button-primary:hover { background: #d5e4f7; border-color: #d5e4f7; color: #11151d; box-shadow: none; letter-spacing: -.01em; transform: translateY(-2px); }
body .btn.btn-secondary:hover, body .btn.btn-glass:hover, body .tour-button-secondary:hover { background: #26354b; border-color: #7694bd; color: #fff; box-shadow: none; letter-spacing: -.01em; transform: translateY(-2px); }
body :is(.theme-light, .ep-light) .btn.btn-primary { background: #11151d; color: #fff; border-color: #11151d; }
body :is(.theme-light, .ep-light) .btn.btn-primary:hover { background: #26354b; }
body :is(.theme-light, .ep-light) .btn.btn-secondary { background: transparent; color: #11151d; border-color: #a9b0bb; }
body :is(.theme-light, .ep-light) .btn.btn-secondary:hover { background: #e0e6ef; }
body .btn:active, body .tour-button:active { transform: translateY(0) scale(.97); }
body .btn:disabled, body .btn[aria-disabled="true"] { opacity: .4; cursor: not-allowed; transform: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #83b5f7; outline-offset: 5px; }
.nav-label-window { display: block; position: relative; height: 1.3em; overflow: hidden; }
.nav-label { display: block; line-height: 1.3; transition: transform .4s var(--ui-ease); }
.nav-label-copy { position: absolute; top: 100%; left: 0; }
.nav-link:hover .nav-label, .nav-link:focus-visible .nav-label { transform: translateY(-100%); }
.nav-link[aria-current="page"] { color: #fff; background: #ffffff0c; }
.orbit-menu-toggle { display: none; }
.site-nav .nav-inner { max-width: min(100% - 2rem,850px); gap: 1.25rem; }
@media(max-width:768px) {
 .site-nav { top: 1rem; }
 .site-nav .nav-inner { width: calc(100% - 2rem); max-width: none; flex-wrap: wrap; gap: .6rem; padding: .6rem 1rem; border-radius: 26px; }
 .site-nav .nav-brand { margin-right: auto; }
 .site-nav .nav-actions .btn { min-height: 38px; padding: .65rem .9rem; font-size: .75rem; }
 .orbit-menu-toggle { display: inline-flex; justify-content: center; align-items: center; min-height: 38px; border: 1px solid #535e6e; border-radius: 99px; color: #fff; background: #171d28; font: 500 .75rem var(--font-sans); padding: .6rem .9rem; cursor: pointer; }
 .site-nav .nav-links { display: flex; order: 4; width: 100%; flex-wrap: wrap; padding: .6rem 0 .2rem; gap: .3rem; border-top: 1px solid #ffffff18; }
 .site-nav .nav-link { font-size: .85rem; padding: .6rem .75rem; }
 .site-nav[data-menu-open="false"] .nav-links { display: none; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto; }
 .nav-label, body .btn, body .tour-button { transition: none; }
 .nav-link:hover .nav-label, .nav-link:focus-visible .nav-label { transform: none; }
}

/* Reversible rolling labels, shared by every filled and outlined CTA. */
body :is(.btn,.tour-button,.brew-copy-btn) > .cta-label-window { display: block; position: relative; overflow: hidden; transform: none; }
body :is(.btn,.tour-button,.brew-copy-btn) .cta-label { display: block; line-height: 1.4; transition: transform .4s var(--ui-ease); }
body :is(.btn,.tour-button,.brew-copy-btn) .cta-label-copy { position: absolute; inset: 100% 0 auto; }
body :is(.btn,.tour-button,.brew-copy-btn):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) .cta-label { transform: translateY(-100%); }
body :is(.btn,.tour-button,.brew-copy-btn) .cta-label svg { vertical-align: middle; }
body :is(.home-link,.ep-text-link,.tour-text-link) { position: relative; transition: color .3s, border-color .3s; }
body :is(.home-link,.ep-text-link,.tour-text-link)::after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ui-ease),box-shadow .4s; }
body :is(.home-link,.ep-text-link,.tour-text-link):is(:hover,:focus-visible) { color: #9dc9ff; border-color: transparent; }
body :is(.ep-light,.theme-light) :is(.home-link,.ep-text-link,.tour-text-link):is(:hover,:focus-visible), body .tour-text-link:is(:hover,:focus-visible) { color: #215eaa; }
body :is(.home-link,.ep-text-link,.tour-text-link):is(:hover,:focus-visible)::after { transform: scaleX(1); box-shadow: 0 0 8px currentColor; }
body :is(.home-link,.ep-text-link,.tour-text-link) > span { display: inline-block; transition: transform .4s var(--ui-ease); }
body :is(.home-link,.ep-text-link,.tour-text-link):is(:hover,:focus-visible) > span { transform: rotate(45deg); }
@media(prefers-reduced-motion:reduce) {
 body :is(.btn,.tour-button,.brew-copy-btn) .cta-label { transition: none; transform: none !important; }
 body :is(.home-link,.ep-text-link,.tour-text-link)::after, body :is(.home-link,.ep-text-link,.tour-text-link) > span { transition: none; }
}

/* Center the full hardware group and give the display a laptop base. */
body .platform-device-composition { max-width: none; margin-inline: auto; padding: 0 4% 2%; }
body .platform-desktop-display { width: 90%; margin-inline: auto; border-radius: 12px 12px 5px 5px; box-shadow: 0 24px 50px -24px #19233880; }
body .platform-desktop-display::after { content: ''; position: absolute; top: 100%; left: -7%; width: 114%; height: clamp(9px,1.6vw,20px); background: linear-gradient(#d0d4db,#979fa9 45%,#555e6b); border-radius: 2px 2px 45% 45% / 2px 2px 90% 90%; box-shadow: 0 8px 12px -5px #15203255; }
body .platform-desktop-display::before { content: ''; position: absolute; z-index: 1; top: 100%; left: 42%; width: 16%; height: 4px; background: #707985; border-radius: 0 0 5px 5px; }
body .platform-phone-showcase { right: 1%; width: 21%; bottom: 0; }
body .platform-phone-showcase .orbit-phone { filter: drop-shadow(0 15px 18px #15203255); }

/* Flat laptop chassis and a screenshot-proportioned Android enclosure. */
body .platform-desktop-display::after { height: clamp(8px,1.1vw,13px); border-radius: 2px 2px 8px 8px; background: linear-gradient(#d5d9df 0 30%,#a7afb9 32% 78%,#77818d); }
body .desktop-hardware-bar { padding-bottom: 8px; }
body .desktop-hardware-camera { width: 12%; height: 9px; border-radius: 0 0 5px 5px; background: #080a0d; }
body .orbit-phone { height: auto; aspect-ratio: 1100 / 2420; }
body .orbit-phone-frame { border: 0; border-radius: 9% / 4%; padding: 1%; position: relative; width: 100%; height: 100%; box-shadow: 0 0 0 1px #68717c,0 8px 20px #15203244; }
body .orbit-phone-screen { position: relative; inset: auto; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 8% / 3.5%; box-shadow: none; }
body .orbit-phone-screen img { object-fit: contain; transform: none; }
body .orbit-phone-camera { top: 1.4%; width: 3%; height: auto; aspect-ratio: 1; }

body .features-page .orbit-phone, body.features-page .tour-device .orbit-phone, body.features-page .features-hero-devices .orbit-phone { aspect-ratio: 1100 / 2420; }
body.features-page .tour-device .orbit-phone-screen img { object-fit: contain; }

/* Light closing panels separate the final action from the dark footer. */
.upcoming-ecosystem-card.theme-light,.manifesto-source-close.theme-light { background: #f0f2f5 !important; color: #141c28; border-color: #c4ccd8; }
.upcoming-ecosystem-card.theme-light .section-title,.manifesto-source-close.theme-light > div { color: #141c28 !important; }
.upcoming-ecosystem-card.theme-light .section-sub,.manifesto-source-close.theme-light > p { color: #536072 !important; }
.upcoming-ecosystem-card.theme-light .cross-platform-badge { color: #365f95; background: #dce5f0; border-color: #b7c8dc; }
.upcoming-ecosystem-card.theme-light .upcoming-input { background: #fff; color: #141c28; border-color: #a9b0bb; }
.upcoming-ecosystem-card.theme-light .upcoming-input::placeholder { color: #626e80; }

/* A spacious navigation rail aligned with the editorial page system. */
.site-nav { top: 1.25rem; }
.site-nav .nav-inner { width: calc(100% - 6rem); max-width: 1240px; min-height: 72px; padding: .7rem 1rem .7rem 1.5rem; border-radius: 20px; background: rgba(10,14,21,.92); border: 1px solid #ffffff21; box-shadow: 0 8px 24px #00000018; gap: 2rem; }
.site-nav.scrolled .nav-inner { background: rgba(10,14,21,.96); border-color: #ffffff29; box-shadow: 0 8px 24px #00000020; }
.site-nav .nav-brand { color: #f3f5f8; gap: .65rem; letter-spacing: -.04em; font-size: 1.2rem; }
.site-nav .brand-icon { width: 30px; height: 30px; }
.site-nav .nav-links { gap: .4rem; }
.site-nav .nav-link { position: relative; padding: .75rem 1rem; font-size: .85rem; color: #aeb8c8; border-radius: 10px; }
.site-nav .nav-link:is(:hover,[aria-current="page"]) { color: #fff; background: #ffffff09; }
.site-nav .nav-link[aria-current="page"]::after { content: ''; position: absolute; bottom: 3px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: #abcaf0; }
.site-nav .nav-actions { padding-left: 1.5rem; border-left: 1px solid #ffffff24; }
.site-nav .nav-actions .btn { min-height: 42px; padding: .7rem 1.3rem; font-size: .8rem; }
@media(max-width:900px) and (min-width:769px) { .site-nav .nav-inner { width: calc(100% - 2rem); gap: .7rem; } .site-nav .nav-link { padding-inline: .7rem; } }
@media(max-width:768px) {
 .site-nav,.site-nav.scrolled { top: .75rem; }
 .site-nav .nav-inner { width: calc(100% - 1.5rem); min-height: 62px; padding: .6rem .75rem; gap: .6rem; border-radius: 18px; }
 .site-nav .nav-brand { font-size: 1rem; }
 .site-nav .brand-icon { width: 26px; height: 26px; }
 .site-nav .nav-actions { border: 0; padding: 0; }
 .site-nav .nav-actions .btn { min-height: 38px; padding: .65rem .9rem; font-size: .75rem; }
 .site-nav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; padding-top: .8rem; }
 .site-nav[data-menu-open="false"] .nav-links { display: none; }
 .site-nav .nav-link { display: flex; justify-content: flex-start; padding: .9rem; }
 .site-nav .nav-link[aria-current="page"]::after { left: auto; right: 12px; bottom: calc(50% - 2px); }
}

/* Compact only when away from the top; keep the central links stationary. */
@media(min-width:769px) {
 .site-nav .nav-inner { display: grid; grid-template-columns: 1fr auto 1fr; transition: min-height .35s var(--ui-ease),padding .35s var(--ui-ease),background .3s,border-color .3s,box-shadow .3s; }
 .site-nav .nav-brand { justify-self: start; }
 .site-nav .nav-actions { justify-self: end; }
 .site-nav .brand-name { display: block; max-width: 5rem; opacity: 1; overflow: hidden; white-space: nowrap; transition: max-width .35s var(--ui-ease),opacity .2s,transform .35s var(--ui-ease); }
 .site-nav .nav-brand { transition: gap .35s var(--ui-ease); }
 .site-nav.scrolled .nav-inner { min-height: 60px; padding-block: .4rem; }
 .site-nav.scrolled .brand-name { max-width: 0; opacity: 0; transform: translateX(-6px); }
 .site-nav.scrolled .nav-brand { gap: 0; }
}
@media(max-width:768px) { .site-nav .brand-name { display: none; } .site-nav .nav-brand { gap: 0; } }
@media(prefers-reduced-motion:reduce) { .site-nav,.site-nav .nav-inner,.site-nav .brand-name,.site-nav .nav-brand { transition: none; } }

/* Independent brand, navigation capsule, and download action. */
.site-nav .nav-inner,.site-nav.scrolled .nav-inner { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; padding-inline: 0; pointer-events: none; }
.site-nav .nav-brand,.site-nav .nav-links,.site-nav .nav-actions,.site-nav .orbit-menu-toggle { pointer-events: auto; }
.site-nav .nav-brand { background: #0a0e15; border: 1px solid #ffffff21; padding: .7rem; border-radius: 50px; box-shadow: 0 4px 16px #00000016; }
.site-nav .nav-brand .brand-name { padding-right: .4rem; }
.site-nav.scrolled .nav-brand .brand-name { padding-right: 0; }
.site-nav .nav-links { background: rgba(10,14,21,.94); border: 1px solid #ffffff21; border-radius: 50px; padding: .3rem; box-shadow: 0 4px 16px #00000016; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.site-nav .nav-link { border-radius: 50px; }
.site-nav .nav-actions { border: 0; padding: 0; }
.site-nav .nav-actions .btn { border: 1px solid #b6bfcd; box-shadow: 0 4px 16px #00000016; }
@media(max-width:768px) {
 .site-nav .nav-inner { position: relative; }
 .site-nav .nav-brand { padding: .55rem; }
 .site-nav .nav-links { position: absolute; top: calc(100% + .5rem); left: 0; right: 0; width: 100%; padding: .7rem; border-radius: 20px; }
 .site-nav .orbit-menu-toggle { background: #0a0e15; min-height: 42px; }
 .site-nav .nav-actions .btn { min-height: 42px; }
}

/* A true circle when the wordmark is hidden. */
.site-nav.scrolled .nav-brand { box-sizing: border-box; width: 54px; height: 54px; min-width: 54px; padding: 11px; justify-content: center; border-radius: 50%; position: relative; }
.site-nav.scrolled .nav-brand .brand-name { position: absolute; width: 0; padding: 0; pointer-events: none; }
.site-nav .brand-icon { flex-shrink: 0; }
@media(max-width:768px) {
 .site-nav .nav-brand,.site-nav.scrolled .nav-brand { box-sizing: border-box; width: 46px; height: 46px; min-width: 46px; padding: 9px; justify-content: center; border-radius: 50%; }
}

/* Let Orbit’s own rings fill the compact circular badge. */
.site-nav.scrolled .nav-brand { padding: 5px; }
.site-nav.scrolled .nav-brand .brand-icon { width: 42px; height: 42px; object-fit: contain; }
@media(max-width:768px) {
 .site-nav .nav-brand,.site-nav.scrolled .nav-brand { padding: 4px; }
 .site-nav .nav-brand .brand-icon,.site-nav.scrolled .nav-brand .brand-icon { width: 36px; height: 36px; object-fit: contain; }
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .orbit-static-copy { translate: var(--copy-x,0px) var(--copy-y,0px); transition: translate .55s cubic-bezier(.22,1,.36,1); }
}

.site-footer { position: relative; isolation: isolate; overflow: hidden; }
.footer-inversion-lens { position: absolute; z-index: 20; width: 420px; height: 420px; border-radius: 50%; background: #fff; mix-blend-mode: difference; pointer-events: none; transform: translate(-50%,-50%); opacity: 0; transition: opacity .18s ease; }
.footer-inversion-lens.is-visible { opacity: 1; }
@media(max-width:1023px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) { .footer-inversion-lens { display: none; } }

.orbit-arrival { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: #080b11; pointer-events: none; transition: opacity .4s ease,visibility .4s; }
.orbit-arrival-mark { display: flex; align-items: center; gap: 16px; color: #f3f5fa; font: 500 32px/1.2 var(--font-sans); letter-spacing: -.04em; animation: orbit-arrive .55s ease both; }
.orbit-arrival-mark img { width: 56px; height: 56px; }
.orbit-arrival.is-leaving { opacity: 0; visibility: hidden; }
@keyframes orbit-arrive { from { opacity: 0; transform: translateY(8px) scale(.96); } to { opacity: 1; transform: none; } }

/* Phone and tablet layouts have their own reading rhythm. */
@media(max-width:899px) {
 .home-page .hero { display: flex; flex-direction: column; min-height: 0; height: auto; padding: 0 20px 64px; overflow: hidden; }
 .home-page .hero-content { width: 100%; min-width: 0; max-width: 680px; min-height: 85svh; margin: 0 auto; padding: 100px 0 60px; justify-content: flex-end; align-self: center; text-align: center; }
 .home-page .hero-title { font-size: clamp(3rem,12vw,5rem); }
 .home-page .hero-sub { font-size: clamp(1.35rem,4.7vw,2rem); line-height: 1.25; }
 .home-page .hero-sub-small { font-size: .95rem; line-height: 1.6; max-width: 290px; }
 .home-page .hero .simulator-wrapper { grid-area: auto; width: 100%; min-width: 0; max-width: 720px; margin: 0 auto; }
 .sim-header { padding: .55rem .6rem; gap: .5rem; }
 .sim-nav-btns,.sim-shortcut { display: none; }
 .sim-tab { min-width: 0; }
 .sim-address-bar { min-width: 0; }
 .home-page .home-devices { margin-top: 2.5rem; }
 .home-page .home-devices .platform-phone-showcase, .features-page .features-hero-devices .platform-phone-showcase { width: 26%; }
 .editorial-page .ep-hero h1 { font-size: clamp(2.65rem,7.7vw,4.7rem); line-height: 1.08; }
 .ep-hero-grid > *, .home-benefit-layout > *, .home-trust-intro > *, .download-bento > * { min-width: 0; }
 .ep-hero { padding-top: 8rem; }
 .ep-orbital { max-width: 270px; }
 .ep-close { padding: 4.5rem 0; }
 .ep-close h2 { font-size: clamp(2.4rem,7vw,3.7rem); }
 .features-page .features-hero-devices { margin-top: 2.5rem; padding-inline: 12px; }
 .download-bento { grid-template-columns: 1fr; }
 .download-platform-card { padding: 1.5rem; }
 .platform-card-header { flex-wrap: wrap; gap: 1rem; }
 .upcoming-form { flex-wrap: wrap; }
 .upcoming-input { min-width: 0; width: 100%; }
}
@media(max-width:540px) {
 .home-page .ep-wrap,.editorial-page .ep-wrap { width: calc(100% - 40px); }
 .home-heading,.ep-section h2,.tour-section-title { font-size: clamp(2.2rem,9vw,3rem); letter-spacing: -.05em; }
 .home-benefits,.home-download,.ep-section { padding-block: 3.5rem; }
 .home-trust { padding-top: 3.5rem; }
 .home-principle-quote { padding: 1.5rem .25rem; }
 .home-principle-quote p { font-size: 1.15rem; }
 .home-benefit { gap: .75rem; }
 .home-benefit h3 { font-size: 1.4rem; }
 .home-benefit p,.home-trust-item p,.ep-lead,.ep-boundary p,.ep-creator p,.ep-roadmap p { font-size: 1rem; line-height: 1.75; }
 .home-maker-identity { gap: .8rem; }
 .ep-actions { flex-direction: column; align-items: stretch; }
 .ep-actions .btn { justify-content: center; }
 .ep-rail { flex-direction: column; gap: .65rem; }
 .ep-source-body { padding: 1.5rem; }
 .ep-source-body p { font-size: 1.25rem; }
 .ep-source-top { padding: 1rem; flex-wrap: wrap; gap: .5rem; }
 .ep-value-row { gap: 1rem; }
 .features-page .features-hero-title { font-size: clamp(2.5rem,10vw,3.3rem); }
 .platform-options { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
 .platform-option { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: .9rem .6rem; border-radius: 12px; }
 .platform-option span { font-size: 1rem; }
 .platform-option small { max-width: none; text-align: left; font-size: .65rem; }
 .tour-copy h2 { font-size: 2.25rem; }
 .tour-stage { padding-inline: 20px; }
 .tour-progress { gap: .8rem; }
 .tour-device .orbit-phone { max-width: 220px; }
 .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; }
 .footer-brand-col { grid-column: 1 / -1; }
 .site-footer { padding-top: 3rem; }
 .footer-bottom { flex-wrap: wrap; gap: 1rem; }
 .arch-switch-row { flex-direction: column; }
 .arch-btn { min-height: 44px; white-space: normal; }
 .upcoming-ecosystem-card { padding: 2rem 1.25rem; }
 .brew-command { overflow-wrap: anywhere; }
 body .btn,body .tour-button { min-height: 46px; }
}

/* Enter through the solid center of Orbit’s concentric mark. */
.orbit-arrival { --arrival-wall: #080b11; --arrival-line: #dce6f5; background: var(--arrival-wall); }
.orbit-arrival-symbol { position: relative; width: 112px; height: 112px; transform: scale(1); transition: transform 1.15s cubic-bezier(.7,0,.3,1); }
.arrival-ring { position: absolute; border: 2px solid var(--arrival-line); border-radius: 50%; }
.arrival-ring-0 { inset: 0; }
.arrival-ring-1 { inset: 18px; }
.arrival-ring-2 { inset: 40px; background: var(--arrival-wall); box-shadow: 0 0 0 2px var(--arrival-line); border: 0; }
.orbit-arrival.is-zooming .orbit-arrival-symbol { transform: scale(var(--arrival-zoom)); }
@media(prefers-color-scheme:light) { .orbit-arrival { --arrival-wall: #f0f2f5; --arrival-line: #131b28; } }

@media(max-width:899px) { .features-page .mobile-tour { padding-block: 0; } }

/* ==========================================================================
   COOKIE CONSENT & PRIVACY NOTICE BANNER (Zero-Telemetry)
   ========================================================================== */
.orbit-cookie-banner {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 99999;
  max-width: 440px;
  width: calc(100% - 3rem);
  background: rgba(11, 16, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 1.25rem 1.4rem;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.05);
  opacity: 0;
  transform: translateY(20px) scale(0.98);
  transition: opacity 0.35s var(--ui-ease), transform 0.35s var(--ui-ease);
  pointer-events: none;
}
.orbit-cookie-banner.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.orbit-cookie-inner {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.orbit-cookie-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.orbit-cookie-close {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  cursor: pointer;
  padding: 0.35rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s, background 0.2s, transform 0.2s;
  box-shadow: none !important;
  outline: none;
  min-height: auto !important;
  line-height: 1;
}
.orbit-cookie-close:hover {
  color: #f8fafc !important;
  background: rgba(255, 255, 255, 0.12) !important;
  transform: scale(1.08);
}
.orbit-cookie-icon {
  color: #38bdf8;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.orbit-cookie-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #f8fafc;
  margin: 0 0 0.3rem;
  letter-spacing: -0.01em;
}
.orbit-cookie-text {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #cbd5e1;
  margin: 0;
}
.orbit-cookie-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 0.4rem;
}
.orbit-cookie-link {
  font-size: 0.82rem;
  color: #94a3b8;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.orbit-cookie-link:hover {
  color: #38bdf8;
}
.orbit-cookie-btn {
  min-height: 36px !important;
  padding: 0.45rem 1.1rem !important;
  font-size: 0.8rem !important;
}

/* ==========================================================================
   INTERACTIVE VALIDATED FORM & FEEDBACK COMPONENT
   ========================================================================== */
.orbit-form-card {
  background: rgba(14, 20, 32, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 2.2rem;
  margin-top: 2.5rem;
  max-width: 600px;
}
.orbit-form-card h3 {
  font-size: 1.35rem;
  font-weight: 600;
  color: #f8fafc;
  margin-bottom: 0.6rem;
  letter-spacing: -0.02em;
}
.orbit-form-card p {
  color: #94a3b8;
  font-size: 0.92rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.orbit-form-group {
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  text-align: left;
}
.orbit-form-group label {
  font-size: 0.8rem;
  font-weight: 500;
  color: #cbd5e1;
  letter-spacing: 0.02em;
}
.orbit-input, .orbit-textarea {
  width: 100%;
  background: #090d16;
  border: 1px solid #293548;
  border-radius: 10px;
  padding: 0.75rem 1rem;
  color: #f1f5f9;
  font-family: inherit;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.orbit-input::placeholder, .orbit-textarea::placeholder {
  color: #64748b;
}
.orbit-input:focus, .orbit-textarea:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.15);
}
.orbit-input.has-error, .orbit-textarea.has-error {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}
.orbit-hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0,0,0,0) !important;
}
.orbit-form-status {
  min-height: 1.4rem;
  font-size: 0.85rem;
  margin-top: 0.8rem;
  transition: opacity 0.2s;
}
.orbit-form-status.is-error {
  color: #f87171;
}
.orbit-form-status.is-success {
  color: #34d399;
}

/* ==========================================================================
   COLOR CONTRAST & ACCESSIBILITY ENHANCEMENTS (WCAG AA)
   ========================================================================== */
.footer-desc {
  color: #94a3b8 !important; /* Enhanced from muted low-contrast */
}
.footer-bottom {
  color: #94a3b8 !important;
}
.footer-legal-links a {
  color: #cbd5e1 !important;
  transition: color 0.2s ease;
  cursor: pointer;
}
.footer-legal-links a:hover {
  color: #38bdf8 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-col ul li a {
  color: #cbd5e1 !important;
  transition: color 0.2s ease, opacity 0.2s ease;
  cursor: pointer;
}
.footer-col ul li a:hover {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-col ul li a:focus-visible,
.footer-legal-links a:focus-visible {
  outline: 2px solid #38bdf8 !important;
  outline-offset: 4px;
  border-radius: 4px;
}
.hero-sub-small {
  color: #cbd5e1 !important;
}
.ep-note {
  color: #475569 !important;
}
.sim-shortcut-badge {
  color: #cbd5e1 !important;
  background: #1e293b !important;
}

/* Mobile responsiveness adjustments */
@media (max-width: 640px) {
  .orbit-cookie-banner {
    bottom: 1rem;
    right: 1rem;
    left: 1rem;
    width: auto;
    max-width: none;
    padding: 1.1rem;
  }
  .orbit-cookie-actions {
    flex-direction: row;
    justify-content: space-between;
  }
}
