.section-heading h2, .nova-footer h3, .nova-hardware-item h3 { letter-spacing: 0; }
.section-heading h2 { font-size: 34px; line-height: 1.25; text-wrap: balance; }
.section-heading .eyebrow { color: #63d9f5; }
.nova-heading-accent { color: #63d9f5; }
.template-hero-copy .hero-title { font-size: 60px; line-height: 1.1; }
.template-hero-stats strong.stat-long, .about-stat strong.stat-long { font-size: 20px; }
.template-hero-stats span, .about-stat span { overflow-wrap: anywhere; }
.nova-feature-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nova-feature { padding: 28px 24px; overflow: hidden; border-radius: 8px; }
.nova-feature-wide { grid-column: span 2; background: #10212b; }
.nova-feature > i { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #29444d; color: #77e5fb; margin-bottom: 24px; border-radius: 6px; }
.nova-feature h3 { font-size: 18px; }
.nova-feature p { font-size: 14px; }
.nova-feature:hover > i { color: #c4f5da; border-color: #59b692; }
.nova-hardware-catalog { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); max-width: 1240px; margin: 40px auto 0; gap: 16px; }
.nova-hardware-item { padding: 24px; border: 1px solid #293b44; background: #10161c; border-radius: 8px; display: flex; flex-direction: column; color: #f6f8fb; transition: border-color .2s, translate .2s; min-width: 0; }
.nova-hardware-item:hover { border-color: #52d6f4; translate: 0 -4px; }
.nova-hardware-art { height: 70px; display: flex; align-items: center; margin-bottom: 24px; }
.nova-hardware-art img { width: 90px; height: 70px; object-fit: contain; object-position: left center; }
.nova-hardware-art > i { font-size: 40px; color: #74cee4; }
.nova-hardware-item h3 { font-size: 19px; margin: 0 0 10px; overflow-wrap: anywhere; }
.nova-hardware-item p { font-size: 13px; line-height: 1.6; color: #aab8c6; margin: 0 0 24px; }
.nova-hardware-item > div:last-child { margin-top: auto; padding-top: 16px; border-top: 1px solid #293b44; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nova-hardware-item strong { font-size: 24px; }.nova-hardware-item small { color: #aab8c6; }
.nova-faq-section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 56px; }
.nova-faq-art img { display: block; width: 100%; max-height: 560px; object-fit: contain; }
.nova-mob-art { position: relative; width: 100%; max-width: 480px; justify-self: center; background: transparent; }
.nova-mob-art img { display: block; width: 100%; height: auto; aspect-ratio: 6 / 7; background: transparent; transition: opacity .3s; }
.nova-flying-ghast-viewport { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 90; background: transparent; }
.nova-mob-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; background: transparent; }
.nova-mob-pause {
    position: absolute; right: 12px; bottom: 12px; z-index: 10;
    display: grid; place-items: center; width: 40px; height: 40px;
    border: 1px solid rgba(48, 70, 83, 0.6); border-radius: 6px;
    background: rgba(16, 22, 28, 0.75); backdrop-filter: blur(6px); color: var(--theme-ink, #c6ebf4);
    cursor: pointer; opacity: 0.6; transition: opacity .2s, border-color .2s;
}
.nova-mob-pause:hover, .nova-mob-pause:focus-visible { opacity: 1; border-color: var(--primary-color); outline: none; }
@media (max-width: 700px) { .nova-mob-art { max-width: 320px; }.nova-mob-art img { height: auto !important; } }
.nova-faq-content { min-width: 0; }.nova-faq-content .section-heading { text-align: left; margin-bottom: 28px; }
.nova-faq-content .faq-list { width: 100%; }.nova-faq-content .faq-item { background: #10151c; border-radius: 8px; border: 1px solid #293944; padding: 0; }
.nova-faq-content summary { display: grid; grid-template-columns: 32px minmax(0, 1fr) 20px; gap: 14px; padding: 20px; align-items: center; list-style: none; font-size: 15px; line-height: 1.5; }
.nova-faq-content summary::-webkit-details-marker { display: none; }
.nova-faq-number { color: #68ddf2; font-variant-numeric: tabular-nums; font-weight: 500; }
.nova-faq-content summary > i { font-size: 13px; transition: rotate .2s; }.nova-faq-content details[open] summary > i { rotate: 45deg; }
.nova-faq-content details[open] { border-color: #40808f; }.nova-faq-content .faq-item p { margin: 0; padding: 0 24px 24px 66px; font-size: 14px; animation: nova-answer-in .2s ease; }
.nova-faq-help { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; color: #73ddf0; font-size: 14px; }
@keyframes nova-answer-in { from { opacity: 0; translate: 0 5px; } to { opacity: 1; translate: 0 0; } }
.nova-preview-controls { order: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #aab8c6; font-size: 13px; }
.nova-preview-controls > div { display: flex; gap: 8px; }
.nova-preview-controls button, .nova-image-dialog button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #304653; border-radius: 6px; background: #141e27; color: #c6ebf4; cursor: pointer; }
.nova-preview-controls button:hover, .nova-preview-controls button:focus-visible { border-color: #6bdeef; }
.nova-image-dialog { width: min(1800px, calc(100vw - 32px)); max-width: none; height: auto; max-height: calc(100dvh - 32px); padding: 52px 12px 12px; border: 1px solid #44616f; border-radius: 8px; background: #090e13; overflow: auto; }
.nova-image-dialog::backdrop { background: rgba(0, 0, 0, .85); }
.nova-image-dialog form { position: absolute; top: 6px; right: 10px; }
.showcase-tabs .showcase-card { border-radius: 8px; }
.showcase-preview {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1919 / 929 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: #080d14 !important;
}
.showcase-preview img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    display: block !important;
}
@media (max-width: 768px) {
    .showcase-grid {
        gap: 14px !important;
    }
    .showcase-preview,
    .showcase-preview img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1919 / 929 !important;
    }
    .nova-preview-controls {
        margin-top: 10px !important;
    }
}
.nova-footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr 1.15fr; gap: 40px; }
.nova-footer-grid > * { min-width: 0; }.nova-footer h3 { font-size: 15px; margin: 0 0 24px; }
.nova-footer a { color: #bdc8d3; font-size: 14px; }.nova-footer a:hover { color: #65dff6; }
.nova-footer nav a { display: block; margin: 14px 0; }.nova-footer nav i { font-size: 10px; margin-left: 7px; }
.nova-footer-brand .brand { display: flex; gap: 12px; align-items: center; color: #fff; font-size: 21px; }.nova-footer-brand .brand img { width: 48px; height: 48px; object-fit: contain; }
.nova-footer-brand p { color: #95a4b4; font-size: 14px; line-height: 1.8; margin: 20px 0; }
.nova-socials { display: flex; gap: 12px; }.nova-socials a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #293841; border-radius: 6px; font-size: 18px; }
.nova-footer .nova-contact { display: flex; gap: 14px; align-items: center; margin-bottom: 20px; }.nova-contact > i { color: #61cbe4; font-size: 20px; }.nova-contact span { min-width: 0; overflow-wrap: anywhere; }.nova-contact small { display: block; color: #8799a9; margin-bottom: 5px; }
.nova-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; border-top: 1px solid #25303a; padding-top: 26px; margin-top: 48px; font-size: 12px; color: #8499ab; }
@media (max-width: 1000px) { .nova-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.nova-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.template-hero-copy .hero-title { font-size: 44px; } }
@media (max-width: 700px) { .nova-faq-section { grid-template-columns: 1fr; gap: 24px; }.nova-faq-art img { height: 240px; }.section-heading h2 { font-size: 27px; }.template-hero-copy .hero-title { font-size: 36px; }.hero-cycle-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .nova-feature-grid, .nova-footer-grid { grid-template-columns: 1fr; }.nova-feature-wide { grid-column: auto; }.template-hero-copy .hero-title { font-size: 30px; }.nova-faq-content summary { padding: 16px; gap: 8px; }.nova-faq-content .faq-item p { padding: 0 20px 20px; }.nova-preview-controls > span { max-width: 160px; }.nova-image-dialog img { width: 960px; max-width: none; } }
@media (prefers-reduced-motion: reduce) { .nova-hardware-item, .nova-faq-content summary > i { transition: none; }.nova-faq-content .faq-item p { animation: none; } }
@media print { .nova-footer { display: none; } }

.panel-toolkit { max-width: 1440px; margin-inline: auto; }
.panel-toolkit [hidden] { display: none !important; }
.panel-tool-tabs { display: flex; width: fit-content; max-width: 100%; margin: 0 auto 32px; border-bottom: 1px solid #2e3942; gap: 8px; }
.panel-tool-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 22px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #aab7c4; background: transparent; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: color .2s, border-color .2s; }
.panel-tool-tabs button[aria-selected="true"] { color: #80e4fa; border-bottom-color: #63d9f5; }
.panel-tool-tabs button:hover { color: #fff; }.panel-tool-tabs button:focus-visible { outline: 2px solid #81e7fb; outline-offset: 4px; }
.panel-tool-group { margin-block: 24px; outline-offset: 8px; }
.panel-tool-fallback-title { font-size: 20px; text-align: center; margin-bottom: 24px; }.is-enhanced .panel-tool-fallback-title { display: none; }
.panel-tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.panel-tool-card { position: relative; min-width: 0; min-height: 242px; padding: 0 24px 26px; overflow: hidden; border: 1px solid #2b3842; border-radius: 6px; background: #10151b; transition: border-color .25s, background-color .25s, transform .25s; }
.panel-tool-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: #67d8ef; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.panel-tool-card:hover { border-color: #467587; background: #132029; transform: translateY(-4px); }.panel-tool-card:hover::after { transform: scaleX(1); }
.panel-tool-card-head { display: flex; justify-content: space-between; align-items: center; margin-right: -24px; margin-bottom: 22px; }
.panel-tool-number { font-family: 'Orbitron', sans-serif; font-size: 11px; color: #899aaa; }
.panel-tool-icon { display: grid; place-items: center; width: 52px; height: 52px; border-bottom: 1px solid #2b3842; border-left: 1px solid #2b3842; border-bottom-left-radius: 6px; color: #70daf3; background: #16222c; font-size: 19px; }
.panel-tool-card:nth-child(2) .panel-tool-icon { color: #8de4bc; }.panel-tool-card:nth-child(3) .panel-tool-icon { color: #e5ce93; }.panel-tool-card:nth-child(4) .panel-tool-icon { color: #c6b7ef; }
.panel-tool-card h3 { margin: 0 0 12px; font-size: 17px; line-height: 1.45; letter-spacing: 0; overflow-wrap: break-word; }
.panel-tool-card p { margin: 0; color: #aab8c5; font-size: 13px; line-height: 1.75; overflow-wrap: break-word; }
.panel-toolkit-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 26px; margin-top: 32px; }.panel-tool-plans { display: inline-flex; gap: 12px; align-items: center; color: #b8cbd9; font-size: 14px; }.panel-tool-plans:hover { color: #7de7f5; }
.nova-preview-controls .nova-preview-caption { display: flex; align-items: center; gap: 16px; min-width: 0; }.nova-preview-caption > span { color: #dce8f2; font-weight: 600; overflow-wrap: anywhere; }.nova-preview-caption small { color: #8c9fac; white-space: nowrap; font-variant-numeric: tabular-nums; }
.template-showcase .showcase-card::after { display: none; }
.showcase-card .showcase-progress { position: absolute; inset: auto 0 0; display: block; width: 100%; height: 2px; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: #73e0f5; transform: scaleX(0); transform-origin: left; pointer-events: none; }
.nova-preview-error { grid-column: 1 / -1; order: 2; margin: 0; color: #efbc90; font-size: 13px; }.nova-preview-error[hidden] { display: none; }
.nova-image-dialog { padding: 0 12px 12px; }.nova-dialog-toolbar { position: sticky; top: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; background: #090e13; z-index: 1; }
.nova-dialog-toolbar > span { color: #dce7ef; font-size: 14px; font-weight: 600; min-width: 0; overflow-wrap: anywhere; }.nova-dialog-toolbar > div { display: flex; gap: 8px; }.nova-image-dialog .nova-dialog-toolbar form { position: static; margin: 0; }.nova-dialog-toolbar button { flex-shrink: 0; }
@media (max-width: 1000px) { .panel-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.panel-tool-card { min-height: 218px; } }
@media (max-width: 640px) { .panel-tool-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 0; }.panel-tool-tabs button { flex-direction: column; gap: 8px; padding: 12px 7px; font-size: 12px; line-height: 1.4; }.panel-tool-card { padding-inline: 18px; }.panel-tool-card-head { margin-right: -18px; }.nova-preview-controls { flex-wrap: wrap; gap: 12px; }.nova-preview-controls .nova-preview-caption { width: 100%; justify-content: space-between; }.nova-dialog-toolbar > span { max-width: 160px; font-size: 12px; }.nova-dialog-toolbar > div { gap: 5px; } }
@media (max-width: 600px) { .panel-tool-grid { grid-template-columns: 1fr; }.panel-tool-card { min-height: 224px; } }
@media (prefers-reduced-motion: reduce) { .panel-tool-card, .panel-tool-card::after, .panel-tool-tabs button { transition: none; }.panel-tool-card:hover { transform: none; } }
