/* Interaction states follow Figma variants and the requested motion. */
.engway-action { transition: background-color 350ms linear; }
.mobile-view .engway-action, .engway-dialog[data-mobile="true"] .engway-action { transition-timing-function: ease-out; }
.engway-action:hover, .engway-action:focus-visible { background-color: #4c291d !important; }
button.engway-nav-item { color: #fff; transition: background-color 350ms ease-out; }
button.engway-nav-item:hover, button.engway-nav-item:focus-visible { background-color: #717171 !important; color: #fff; }
button.engway-nav-item > p { color: #fff; }
/* Hover belongs to each menu button, while the header keeps its Figma fill. */
.desktop-view [data-node-id="566:1712"] { background-color: #464444 !important; }
/* Program and pricing cards share a quiet hover; their text and border keep their original colors. */
.engway-card { transform-origin: center; transition: background-color 350ms ease-out, transform 350ms ease-out; }
@media (hover: hover) and (pointer: fine) {
  .engway-card:hover { transform: scale(1.015); z-index: 1; background-color: #f7f7f7 !important; }
}
.engway-burger { cursor: pointer; }
.engway-menu { position: fixed; z-index: 200; width: 220px; height: 159px; display: flex; flex-direction: column; justify-content: center; overflow: hidden; background: #464444; border-radius: 20px; font: 500 14px/1.5 Inter, sans-serif; color: #fff; opacity: 1; animation: engway-fade 350ms ease-out; }
.engway-menu button { flex-shrink: 0; width: 100%; height: 30px; display: flex; align-items: center; padding: 10px; border: 0; background: #464444; color: #fff; text-align: left; font: inherit; cursor: pointer; }
.engway-menu button:hover, .engway-menu button:focus-visible { background: #717171; }
.engway-form { overflow: visible !important; cursor: default !important; }
.engway-form label { display: block; }
.engway-field-shell { cursor: text; transition: border-color 350ms ease-out, background-color 350ms ease-out; }
.engway-field-shell:hover, .engway-field-shell:focus-within { border-color: #353535 !important; }
.engway-field-shell:focus-within { background-color: #f3f1f0 !important; }
@media (hover: hover) {
  .engway-field-shell:hover { background-color: #f3f1f0 !important; }
}
.engway-input { appearance: none; -webkit-appearance: none; border: 0; outline: 0; background: transparent; flex: 1 1 0%; min-width: 0; width: 0; padding: 0; margin: 0; color: #353535 !important; cursor: text; }
.engway-input::placeholder { color: #747272; opacity: 1; }
.engway-field-shell:hover .engway-input::placeholder, .engway-field-shell:focus-within .engway-input::placeholder { color: #353535; }
.engway-field-shell.is-invalid { border-color: #e53935 !important; }
.engway-level-trigger { cursor: pointer; }
.engway-level-trigger[aria-expanded="true"] { border-color: #353535 !important; background-color: #f3f1f0 !important; }
.engway-form-status { position: absolute; top: calc(100% + 8px); left: 0; width: 100%; padding: 8px 12px; border-radius: 8px; color: #353535; background: #fff3ec; font: 400 12px/1.4 Inter, sans-serif; text-align: left; z-index: 2; }
.engway-form-status[data-error="true"] { color: #e53935; background: #fff; }
.engway-form-status a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.engway-form-status[hidden] { display: none !important; }
.engway-dialog { box-sizing: border-box; width: min(563px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 48px); padding: 0; border: 0; border-radius: 20px; background: transparent; overflow: visible; color: #353535; animation: engway-fade 350ms ease-out; }
.engway-dialog::backdrop { background: rgb(0 0 0 / .5); }
.engway-dialog[data-mobile="true"] { width: min(358px, calc(100vw - 32px)); }
.engway-dialog[data-mobile="true"]::backdrop { background: rgb(0 0 0 / .6); }
.engway-dialog > .engway-form { position: relative !important; left: 0 !important; top: 0 !important; right: auto !important; bottom: auto !important; margin: 0 !important; width: 100% !important; }
.engway-dialog .engway-form [data-node-id] { max-width: 100%; }
.engway-dialog[data-mobile="true"] .engway-form > [data-node-id], .engway-dialog[data-mobile="true"] .engway-form [data-name^="Input /"] { width: 100%; }
.engway-modal-open { overflow: hidden; }
.engway-select-shade { position: fixed; z-index: 290; inset: 0; background: rgb(0 0 0 / .5); }
.engway-dropdown { position: fixed; z-index: 300; width: 481px; max-width: calc(100vw - 32px); padding: 12px 10px; border: 1px solid #5c5b5b; border-radius: 16px; background: #fff; color: #353535; box-shadow: 0 8px 24px rgb(0 0 0 / .08); animation: engway-fade 350ms ease-out; }
.engway-dropdown[data-mobile="true"] { width: 250px; padding-top: 14px; padding-bottom: 14px; }
.engway-dropdown-title { margin: 0 0 9px; font: 700 14px/17px Inter, sans-serif; color: #5c5b5b; }
.engway-dropdown button { display: block; width: 100%; height: 40px; padding: 10px 12px; border: 0; border-radius: 12px; background: transparent; color: #353535; font: 500 14px/1.5 Inter, sans-serif; text-align: left; cursor: pointer; transition: background 350ms ease-out; }
.engway-dropdown button:hover, .engway-dropdown button:focus-visible { background: #f3f1f0; outline: 0; }
.engway-faq { --faq-open-height: 134px; transform-origin: center; transition: height 360ms ease-in-out, transform 350ms ease-out; }
.engway-faq-height, .engway-faq-section { transition: height 360ms ease-in-out; }
.engway-faq-skin { justify-content: flex-start !important; overflow: hidden; transition: height 360ms ease-in-out, background-color 350ms ease-out; }
@media (hover: hover) and (pointer: fine) {
  .engway-faq:hover { transform: scale(1.015); z-index: 1; }
  .engway-faq:hover .engway-faq-skin, .engway-faq-skin.engway-faq:hover { background-color: #f7f7f7 !important; }
}
.engway-faq.is-open, .engway-faq.is-open .engway-faq-height { height: var(--faq-open-height) !important; }
.engway-faq-toggle { cursor: pointer; background: transparent; color: inherit; text-align: left; flex-shrink: 0; }
/* The decorative ring enlarges the circle without moving the question or changing accordion heights. */
.engway-faq-icon-wrap { overflow: visible; }
.engway-faq-icon { position: relative; display: block; width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; background: var(--accent, #e84f03); box-shadow: 0 0 0 5px var(--accent, #e84f03); color: #fff; }
.engway-faq-icon::before, .engway-faq-icon::after { content: ''; position: absolute; background: currentColor; border-radius: 1px; }
.engway-faq-icon::before { width: 14px; height: 2px; left: 3px; top: 9px; }
.engway-faq-icon::after { width: 2px; height: 14px; left: 9px; top: 3px; transform-origin: center; transition: transform 200ms ease-out; }
.engway-faq.is-open .engway-faq-icon::after { transform: scaleY(0); }
.engway-faq-answer { margin: 0; width: 100%; color: #5c5b5b; font: 400 16px/1.4 Inter, sans-serif; text-align: left; flex-shrink: 0; opacity: 0; visibility: hidden; transition: opacity 360ms ease-in-out, visibility 0s linear 360ms; }
.engway-faq.is-open .engway-faq-answer { opacity: 1; visibility: visible; transition-delay: 0s; }
.mobile-view .engway-faq { cursor: pointer; }
.mobile-view .engway-faq-skin { padding: 24px !important; gap: 20px !important; }
.mobile-view .engway-faq-toggle { width: 100% !important; height: auto !important; padding: 0 !important; gap: 12px !important; }
.mobile-view .engway-faq-toggle > p { flex: 1 1 0; min-width: 0; white-space: normal; }
.mobile-view .engway-faq-toggle > div { flex-shrink: 0; }
.mobile-view .engway-faq-answer { font-size: 14px; font-weight: 500; line-height: 1.5; cursor: text; }
.engway-contact-link { color: inherit; text-decoration: none; }
.engway-contact-link:hover { text-decoration: underline; }
.engway-action:focus-visible, .engway-nav-item:focus-visible, .engway-burger:focus-visible, .engway-faq-toggle:focus-visible, .engway-level-trigger:focus-visible, .engway-contact-link:focus-visible { outline: 2px solid #e84f03; outline-offset: 3px; }
@keyframes engway-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .engway-card:hover, .engway-faq:hover { transform: none; }
  .engway-action, .engway-nav-item, .engway-card, .engway-card-category, .engway-card-title, .engway-card-price, .engway-field-shell, .engway-faq, .engway-faq-height, .engway-faq-skin, .engway-faq-icon::after, .engway-faq-section, .engway-faq-answer, .engway-dropdown button { transition-duration: .01ms !important; }
  .engway-faq-answer { transition-delay: 0s !important; }
  .engway-dialog, .engway-menu, .engway-dropdown { animation: none; }
}
