/* Linyro UX controls. Integrate the theme variables with your existing palette.
   Do not add globals that override production layout without visual QA. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --linyro-page-bg: #0b1019;
  --linyro-page-text: #f1f5f9;
  --linyro-surface: #17212e;
  --linyro-control-border: #4a5b70;
}
:root[data-theme="light"] {
  color-scheme: light;
  --linyro-page-bg: #f8fafc;
  --linyro-page-text: #0f172a;
  --linyro-surface: #ffffff;
  --linyro-control-border: #64748b;
}
/* Explicitly use these tokens in the existing application's background and text
   declarations; otherwise the toggle will affect only the controls below. */
.linyro-control {
  appearance: none;
  cursor: pointer;
  border: 1px solid var(--linyro-control-border);
  background: var(--linyro-surface);
  color: var(--linyro-page-text);
  border-radius: 0.625rem;
  padding: 0.65rem 0.9rem;
  font: inherit;
  min-height: 44px;
}
.linyro-control:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.linyro-back-to-top {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 30;
  box-shadow: 0 8px 30px #0003;
}
.linyro-notice {
  position: fixed;
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: 50%; transform: translateX(-50%);
  z-index: 50;
  width: max-content;
  max-width: min(90vw, 520px);
  padding: 0.8rem 1.1rem;
  border: 1px solid var(--linyro-control-border);
  border-radius: 0.625rem;
  background: var(--linyro-surface);
  color: var(--linyro-page-text);
  box-shadow: 0 8px 30px #0003;
  font: inherit;
}
.linyro-notice[data-error="true"] { border-color: #fb7185; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
/* Preserve the original layout and light palette. Only explicit dark mode changes colors. */
:root[data-theme="dark"]{--ink:#edf3ff;--graphite:#d3dceb;--soft:#111c2c;--white:#162235;--line:#37465c;--blue:#81aaff;--green:#5ed6a6}
:root[data-theme="dark"] body{background:#0b1220;color:#edf3ff}
:root[data-theme="dark"] :is(.site-header.scrolled,.main-nav.open,.ops-card,.float-stat,.problem-card,.calc-card,.contact-form,.faq details,dialog,.email-fallback,.check-summary){background:#162235;border-color:#37465c}
:root[data-theme="dark"] :is(.hero-lede,.hero-example,.hero-proof,.main-nav a,.lang-switch,.eyebrow,.kicker,.team-lines p,.demo-status,.demo-scenarios>p,.email-recipient,.email-send-note,.enquiry-assurance,dialog p,.faq p,.fit-note,.calc-note,.estimate-note,.contact-copy>p,.problem-card p,.workflow-step p,.section-heading>p){color:#bac9de}
:root[data-theme="dark"] :is(input,select,textarea,.email-fallback input[readonly],.email-fallback textarea[readonly]){background:#0b1220;color:#edf3ff;border-color:#4a5b70}
:root[data-theme="dark"] :is(.mail-icon,.processing-line,.file-badge,.data-grid>div,.demo-scenarios button,.check-context){background:#20324b;border-color:#4a5b70;color:#d3dceb}
:root[data-theme="dark"] :is(.data-grid span,.order-source span,.float-stat span,.processing-line small,.erp-row p span){color:#bac9de}
:root[data-theme="dark"] :is(.data-grid strong,.check-context strong,.check-context p,.check-context .share-check span){color:#edf3ff}
:root[data-theme="dark"] .needs-review{background:#4a3517!important}
:root[data-theme="dark"] .data-grid .needs-review :is(strong,.ok){color:#ffe1a3}
:root[data-theme="dark"] :is(.button,.approve-button){background:#285ed8;color:#fff}
:root[data-theme="dark"] .faq summary{color:#edf3ff}
.theme-toggle{font-size:12px;padding:8px 10px;white-space:nowrap}
.faq-search-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
#faq-search{width:100%;min-height:44px;padding:10px 14px;border:1px solid #94a3b8;border-radius:9px;margin-bottom:16px;background:transparent;color:inherit}
.linyro-notice{bottom:5rem}
@media(max-width:760px){.nav-wrap{gap:10px}.nav-actions{gap:8px}.theme-toggle{font-size:11px;padding:7px}.footer-bottom div{flex-wrap:wrap}.linyro-back-to-top{font-size:12px}}
:root[data-theme="dark"] :is(.site-header,.workflow,.contact){background:#0b1220}
:root[data-theme="dark"] :is(.problem,.assessment,.faq){background:#111c2c}
:root[data-theme="dark"] :is(.process-card,.calculator-panel,.assessment-card,.before-after article,.outcome-bar,.results-grid div,.check-insight){background:#162235;border-color:#37465c}
:root[data-theme="dark"] :is(.contact-form label>span,.form-status,.form-heading,.check-inputs label>span,.baseline-results strong,.check-insight>p:last-child,.contact-points div,.founder-line,.system-list,.after-panel h3){color:#d3dceb}
:root[data-theme="dark"] :is(.process-card p,.assessment-card>p,.assessment-top,.assessment-card li p,.before-after article>p:last-child,.range-meta,.estimate-disclaimer,.check-input-note,.baseline-results span,.scenario-title,.check-download-status,.check-next-offer>p:first-child,.check-next-note,.form-legal,.hero-cta-note,.logo-strip>p,.logo-strip .integration-note,.section-number,.card-index,.fit-list p,.demo-caption){color:#bac9de}
:root[data-theme="dark"] :is(.text-link,.live-pill,.offer-pill,.step-marker,.step-icon,.process-icon,.assessment-card li>span,.contact-points span,.copy-button,.dialog-close){background:#20324b;color:#d3dceb}
:root[data-theme="dark"] :is(.direct-contact a,.outcome-bar a span,.after-panel .kicker){color:#9fc0ff}
:root[data-theme="dark"] .before-after .after-panel{background:#20324b}
:root[data-theme="dark"] .blue-card{background:#2459d6}
:root[data-theme="dark"] .blue-card :is(p,.card-index){color:#fff}
:root[data-theme="dark"] .menu-toggle span{background:#edf3ff}
:root[data-theme="dark"] .demo-scenarios button[aria-pressed="true"]{background:#285ed8;color:#fff}
:root[data-theme="dark"] .approve-button:disabled{background:#4a3517;color:#ffe1a3}
:root[data-theme="dark"] .file-badge{color:#d3dceb!important}
@media(max-width:760px){.security-visual{overflow:hidden}.hero-layout,.contact-layout,.faq-layout{min-width:0}}
@media(max-width:360px){.nav-wrap{width:calc(100% - 24px);gap:7px}.brand{font-size:16px}.brand-mark{width:27px;height:27px;margin-right:6px}.nav-actions{gap:4px}.theme-toggle{font-size:10px;padding:6px}.lang-switch{padding:6px}.menu-toggle{flex-shrink:0}}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request-receipt{border:1px solid #8bc8a8;background:#edf8f2;color:#175d3c;padding:16px;border-radius:8px;overflow-wrap:anywhere;font-size:13px}.email-alternative{margin-top:22px;border-top:1px solid #cfd8e5;padding-top:15px}.email-alternative summary{cursor:pointer;font-weight:600;font-size:13px;margin-bottom:15px}.button:disabled{opacity:.6;cursor:default}:root[data-theme="dark"] .request-receipt{background:#163a30;color:#a2f0ce;border-color:#427f68}

:root[data-theme="dark"] :is(input,textarea)::placeholder{color:#98acc7;opacity:1}

/* Inset the accordion controls so text and expand icons stay inside each card. */
.faq-list{min-width:0}
.faq-list details,.faq-list details:first-child{padding:0;border:1px solid #cfd8e5;border-radius:12px;margin-top:12px;background:#fff}
.faq-list summary{min-height:76px;padding:23px 60px 23px 24px;line-height:1.5;overflow-wrap:anywhere;border-radius:12px}
.faq-list summary:after{right:23px;top:50%;transform:translateY(-50%);width:20px;text-align:center}
.faq-list summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.faq-list details>p{margin:0;padding:0 24px 24px;overflow-wrap:anywhere}

/* JavaScript drives the line and markers together; color follows the theme. */
.workflow-line span{animation:none}
.step-marker{transition:background .15s,box-shadow .15s}
.workflow-step.active .step-marker{background:var(--blue);box-shadow:0 0 0 5px rgba(37,99,235,.16),0 0 22px rgba(37,99,235,.15)}
:root[data-theme="dark"] .workflow-line{background:#37465c}
:root[data-theme="dark"] .step-marker{border-color:#0b1220}
:root[data-theme="dark"] .step-marker span{color:#bac9de}
:root[data-theme="dark"] .step-icon svg{stroke:#bac9de}
:root[data-theme="dark"] .workflow-step.active .step-marker{background:#81aaff;box-shadow:0 0 0 5px #81aaff24,0 0 24px #81aaff38}
:root[data-theme="dark"] .workflow-step.active .step-marker span{color:#0b1220}
@media(max-width:760px){
  .faq-list summary{padding:19px 48px 19px 18px;min-height:68px}
  .faq-list summary:after{right:17px}
  .faq-list details>p{padding:0 18px 20px}
}

.resource-section{padding:0 0 60px}.resource-card{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}.resource-card h2{font-size:28px;margin:8px 0 12px}.resource-card p{max-width:620px;color:var(--graphite);margin:8px 0}.resource-card .button{flex-shrink:0}@media(max-width:760px){.resource-card{display:grid;padding:24px;gap:18px}.resource-card h2{font-size:25px}.resource-card .button{justify-self:start}}
