/*
Theme Name: Digitech
Theme URI: https://digitech.example.com/
Author: Digitech
Description: Minimal general-purpose WordPress theme. Every page uses get_header()/get_footer(); no fixed front-page template — the front page is just a regular published Page like any other, chosen from Settings > Reading. New pages can pick a template from the Page Attributes panel and publish normally.
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: digitech
*/

*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    --dt-ink: #1b1f24;
    --dt-muted: #5b6570;
    --dt-border: #e4e7eb;
    --dt-bg: #ffffff;
    --dt-accent: #2f6fed;
    --dt-accent-ink: #ffffff;
}

body {
    margin: 0;
    color: var(--dt-ink);
    background: var(--dt-bg);
    font-family: -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}

body.page-template-template-home {
    --nova-bg: #020912;
    --nova-panel: rgba(4, 18, 29, 0.76);
    --nova-primary: #0059F0;
    --nova-accent: #03A882;
    background: var(--nova-bg);
    color: #fff;
    font-family: "Inter", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.page-template-template-home::selection {
    color: #ffffff;
    background: var(--nova-accent);
}

body.page-template-template-home #main {
    min-height: 0;
    padding: 0;
}

.nova-page a { color: inherit; text-decoration: none; }
.nova-page button, .nova-page a { -webkit-tap-highlight-color: transparent; }

.nova-nav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 70px;
    padding: 0 5%;
    border-bottom: 1px solid rgba(255,255,255,.15);
    color: #fff;
    background: rgba(2,9,18,.42);
    backdrop-filter: blur(8px);
}

.nova-brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: #fff; font-size: 20px; font-weight: 500; letter-spacing: 0; text-decoration: none; }
.nova-links { display: flex; align-items: center; gap: 34px; }
.nova-links a { color: rgba(255,255,255,.85); font-size: 14px; text-decoration: none; transition: color .3s; }
.nova-links a:hover { color: var(--nova-accent); }
.nova-links sup { margin-left: 2px; color: rgba(255,255,255,.6); font-size: 10px; }
.nova-nav-cta { justify-self: end; padding: 8px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; background: rgba(255,255,255,.15); color: #fff; font-size: 13px; text-decoration: none; backdrop-filter: blur(12px); transition: background .3s; }
.nova-nav-cta:hover { border-color: rgba(3,168,130,.6); background: var(--nova-primary); color: #fff; }

.nova-page { position: relative; min-height: 100vh; overflow: clip; background: var(--nova-bg); color: #fff; }
.nova-media { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: radial-gradient(circle at 62% 42%, #073c45 0, #041b2d 38%, #020912 78%); }
.nova-video, .nova-canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .5s; }
.nova-video { opacity: 0; }
.nova-video.has-frame { opacity: 1; }
.nova-video.is-canvas-ready { opacity: 0; }
.nova-canvas { opacity: 0; }
.nova-canvas.is-ready { opacity: 1; }
.nova-code-canvas { filter: saturate(1.08) contrast(1.03); }
.nova-code-trigger { position: absolute; z-index: 3; right: 3%; top: 49%; display: grid; place-items: center; width: 58px; height: 58px; padding: 0; transform: translateY(-50%); border: 1px solid rgba(3,168,130,.5); border-radius: 50%; color: var(--nova-accent); background: rgba(2,12,24,.82); box-shadow: 0 0 0 8px rgba(0,89,240,.04), 0 0 28px rgba(3,168,130,.2); font: 700 15px Consolas, monospace; pointer-events: none; animation: novaTriggerFloat 3.4s ease-in-out infinite; }
.nova-code-trigger span { position: absolute; top: 66px; color: rgba(255,255,255,.48); font: 500 8px Inter, sans-serif; letter-spacing: .16em; white-space: nowrap; }
.nova-code-trigger::after { content: ""; position: absolute; inset: -9px; border: 1px solid rgba(0,89,240,.2); border-radius: 50%; animation: novaRing 2s ease-out infinite; }
.nova-code-trigger.is-active { color: #fff; background: var(--nova-primary); box-shadow: 0 0 38px rgba(0,89,240,.55); animation-play-state: paused; }
.nova-code-editor { --tilt-x: 0deg; --tilt-y: -5deg; position: absolute; right: 8.5%; top: 49%; width: min(620px, 48vw); opacity: .42; transform: translateY(-50%) perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.94); transform-origin: right center; border: 1px solid rgba(3,168,130,.28); border-radius: 8px; color: rgba(225,245,255,.9); background: rgba(2,12,24,.78); box-shadow: 0 25px 80px rgba(0,0,0,.48), 0 0 55px rgba(0,89,240,.1); backdrop-filter: blur(12px); font-family: Consolas, "Courier New", monospace; overflow: hidden; transition: opacity .3s, border-color .3s, box-shadow .3s, transform .18s ease-out, top .18s ease-out; pointer-events: auto; }
.nova-code-editor.is-open { opacity: 1; transform: translateY(-50%) perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1); }
.nova-code-editor:hover, .nova-code-editor.is-hovered { border-color: rgba(3,168,130,.62); box-shadow: 0 30px 90px rgba(0,0,0,.58), 0 0 75px rgba(0,89,240,.2); }
.nova-editor-bar { display: flex; align-items: center; gap: 7px; height: 42px; padding: 0 14px; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); font-size: 10px; }
.nova-editor-bar > span { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.22); }
.nova-editor-bar > span:nth-child(3) { background: var(--nova-accent); box-shadow: 0 0 9px rgba(182,242,59,.7); }
.nova-editor-bar b { margin-left: 12px; color: rgba(255,255,255,.68); font-weight: 400; }
.nova-editor-bar em { position: relative; margin-left: auto; padding: 6px 9px 6px 19px; border: 1px solid rgba(182,242,59,.22); border-radius: 3px; color: var(--nova-accent); background: rgba(182,242,59,.05); font-style: normal; letter-spacing: .14em; overflow: hidden; transition: color .25s, background .25s, box-shadow .25s; }
.nova-editor-bar em::before { content: ""; position: absolute; left: 8px; top: 50%; width: 5px; height: 5px; transform: translateY(-50%); border-radius: 50%; background: var(--nova-accent); box-shadow: 0 0 9px var(--nova-accent); animation: novaPulse 1.2s infinite; }
.nova-editor-bar em::after { content: ""; position: absolute; inset: 0; transform: translateX(-110%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); transition: transform .55s; }
.nova-editor-bar em:hover, .nova-code-editor:hover .nova-editor-bar em, .nova-code-editor.is-hovered .nova-editor-bar em { color: #050806; background: var(--nova-accent); box-shadow: 0 0 24px rgba(182,242,59,.42); }
.nova-code-editor:hover .nova-editor-bar em::before, .nova-code-editor.is-hovered .nova-editor-bar em::before { background: #050806; box-shadow: none; }
.nova-code-editor:hover .nova-editor-bar em::after, .nova-code-editor.is-hovered .nova-editor-bar em::after { transform: translateX(110%); }
.nova-editor-body { position: relative; display: grid; grid-template-columns: 46px 1fr; height: 330px; padding: 18px 0; overflow: hidden; cursor: text; font-size: clamp(11px, .95vw, 14px); line-height: 1.72; }
.nova-editor-body pre, .nova-editor-body code { cursor: text; }
body.nova-code-cursor, body.nova-code-cursor * { cursor: text !important; }
.nova-editor-body ol { position: relative; z-index: 2; margin: 0; padding: 0 12px 0 0; color: rgba(255,255,255,.2); list-style: none; text-align: right; user-select: none; }
.nova-editor-body pre { position: relative; z-index: 2; margin: 0; padding: 0 18px; border-left: 1px solid rgba(255,255,255,.08); overflow: hidden; color: #dfffe6; white-space: pre-wrap; }
.nova-editor-body code { color: inherit; font: inherit; text-shadow: 0 0 12px rgba(3,168,130,.14); }
.nova-text-trail { display: none; position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 1; transition: opacity .35s ease; }
.nova-editor-body:not(.has-text-trail) .nova-text-trail { opacity: 0; }
.nova-cursor { display: inline-block; width: 7px; height: 1.15em; margin-left: 2px; vertical-align: -2px; background: var(--nova-accent); box-shadow: 0 0 9px var(--nova-accent); animation: novaBlink .72s steps(1) infinite; }
.nova-code-pointer { display: none; }
.nova-code-editor:hover .nova-code-pointer, .nova-code-editor.is-hovered .nova-code-pointer { opacity: 1; }
.nova-code-pointer i { position: absolute; left: -700px; top: 0; width: 1400px; height: 1px; background: linear-gradient(90deg, transparent, rgba(182,242,59,.15), var(--nova-accent), rgba(182,242,59,.15), transparent); box-shadow: 0 0 10px rgba(182,242,59,.5); }
.nova-code-pointer span { position: absolute; right: 8px; bottom: 7px; padding: 2px 5px; color: #050806; background: var(--nova-accent); font-size: 9px; font-weight: 700; box-shadow: 0 0 14px rgba(182,242,59,.45); }
.nova-editor-footer { display: flex; justify-content: space-between; padding: 10px 14px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.48); font-size: 9px; letter-spacing: .14em; }
.nova-editor-footer b { font-weight: 500; }
.nova-editor-footer em { color: var(--nova-accent); font-style: normal; }
.nova-progress { height: 1px; margin-top: 8px; background: rgba(255,255,255,.15); }
.nova-progress span { display: block; width: 0; height: 100%; background: var(--nova-accent); box-shadow: 0 0 12px var(--nova-accent); transition: width .15s linear; }

@keyframes novaPulse { 50% { opacity: .35; transform: scale(.72); } }
@keyframes novaBlink { 50% { opacity: 0; } }
@keyframes novaTriggerFloat { 50% { transform: translateY(calc(-50% - 12px)); } }
@keyframes novaRing { from { opacity: .75; transform: scale(.75); } to { opacity: 0; transform: scale(1.35); } }
.nova-media-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,9,18,.5), transparent 47%, rgba(2,9,18,.24)), linear-gradient(0deg, rgba(2,9,18,.38), transparent 42%); }
.media-error .nova-media { background: radial-gradient(circle at 58% 35%, #073c45, #041b2d 38%, #020912 82%); }
.nova-content { position: relative; z-index: 10; }

.nova-section { display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; min-height: 100svh; padding: 104px 5% 56px; }
.nova-topline { display: flex; justify-content: space-between; gap: 32px; }
.nova-services { display: flex; flex-direction: column; gap: 6px; }
.nova-services span, .nova-badge, .nova-index, .nova-contact-card small { font-size: 11px; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.nova-services span { color: rgba(255,255,255,.9); }
.nova-intro { max-width: 350px; margin: 0; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.55; text-align: right; text-shadow: 0 3px 12px rgba(0,0,0,.4); }
.nova-hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.nova-hero-bottom > div:first-child, .nova-capability-copy, .nova-stage-view { position: relative; isolation: isolate; }
.nova-hero-bottom > div:first-child::before, .nova-capability-copy::before, .nova-stage-view::before { content: ""; position: absolute; z-index: -1; inset: -42px -58px; background: radial-gradient(ellipse at center, rgba(2,9,18,.95) 0%, rgba(2,9,18,.78) 46%, rgba(0,89,240,.08) 68%, transparent 84%); filter: blur(12px); pointer-events: none; }
.nova-stage-view::before { inset: 6% 8%; background: radial-gradient(ellipse at center, rgba(2,9,18,.92), rgba(0,89,240,.1) 52%, transparent 78%); filter: blur(18px); }
.nova-badge { display: inline-block; padding: 7px 12px; border-left: 2px solid var(--nova-accent); background: rgba(4,18,29,.72); backdrop-filter: blur(12px); }
.nova-title { margin: 20px 0 0; color: #fff; font-size: clamp(48px, 6vw, 78px); font-weight: 400; line-height: 1.05; letter-spacing: 0; text-shadow: 0 4px 18px rgba(0,0,0,.4); }
.nova-hero-intro { max-width: 520px; margin-top: 20px; color: rgba(255,255,255,.82); font-size: clamp(15px, 1.25vw, 18px); text-align: left; }
.nova-hero-actions { margin-top: 22px; }

.nova-contact-card { display: flex; align-items: center; gap: 16px; padding: 12px; border: 1px solid rgba(3,168,130,.25); border-radius: 8px; background: var(--nova-panel); backdrop-filter: blur(16px); }
.nova-contact-card img { width: 80px; height: 96px; border-radius: 8px; object-fit: cover; }
.nova-contact-card > div { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding-right: 8px; }
.nova-contact-card strong { font-size: 14px; font-weight: 500; }
.nova-contact-card small { color: rgba(255,255,255,.6); font-size: 9px; }
.nova-pill { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; padding: 9px 18px; border-radius: 999px; font-size: 13px; font-weight: 500; transition: background .3s; }
.nova-contact-card .nova-pill { min-height: 34px; margin-top: 3px; padding: 7px 14px; font-size: 12px; }
.nova-pill span { font-size: 20px; font-weight: 400; line-height: 0; }
.nova-pill-light { background: var(--nova-primary); color: #fff !important; }
.nova-pill-light:hover { background: #2875f5; }
.nova-pill-glass { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); color: #fff; backdrop-filter: blur(12px); }
.nova-pill-glass:hover { background: rgba(255,255,255,.2); }

.nova-transition { --scene-x: 0px; --scene-y: 0px; position: relative; min-height: 260vh; padding: 0 5%; border-block: 1px solid rgba(3,168,130,.16); background: radial-gradient(circle at 50% 50%, rgba(0,89,240,.18), rgba(3,168,130,.07) 48%, rgba(2,9,18,.14) 70%); overflow: clip; }
.nova-transition::before { content: ""; position: absolute; inset: -25%; opacity: .3; background-image: repeating-linear-gradient(90deg, rgba(3,168,130,.1) 0 1px, transparent 1px 88px), repeating-linear-gradient(0deg, rgba(0,89,240,.075) 0 1px, transparent 1px 88px); transform: translate3d(var(--scene-x), var(--scene-y), 0) rotate(-8deg); will-change: transform; }
.nova-warp-canvas { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; opacity: .68; mix-blend-mode: screen; pointer-events: none; }
.nova-kinetic { position: sticky; z-index: 2; top: 70px; display: flex; flex-direction: column; justify-content: center; width: min(1320px, 100%); min-height: calc(100vh - 70px); margin-inline: auto; padding: 34px 0; }
.nova-kinetic-head { display: flex; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.42); font-size: 9px; letter-spacing: .2em; }
.nova-kinetic-head b { color: var(--nova-accent); font-weight: 500; }
.nova-stage-view { display: grid; place-items: center; min-height: 470px; padding: 44px 20px; text-align: center; will-change: opacity, transform; }
.nova-stage-view small { color: var(--nova-accent); font: 10px Consolas, monospace; letter-spacing: .18em; }
.nova-stage-view strong { margin-top: 18px; color: transparent; background: linear-gradient(to top, var(--nova-primary) 0%, var(--nova-accent) var(--stage-fill, 0%), transparent var(--stage-fill, 0%) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: 1px rgba(255,255,255,.9); font-size: 112px; font-weight: 500; line-height: .95; letter-spacing: 0; filter: drop-shadow(0 0 28px rgba(0,89,240,.18)); }
.nova-stage-view p { margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: 16px; }
.nova-stage-view code { margin-top: 25px; padding: 9px 13px; border-left: 2px solid var(--nova-accent); color: var(--nova-accent); background: rgba(2,12,24,.7); font: 10px Consolas, monospace; }
.nova-stage-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nova-stage-nav span { position: relative; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.28); font-size: 8px; letter-spacing: .18em; transition: color .35s, border-color .35s; }
.nova-stage-nav span::before { content: ""; position: absolute; left: 0; top: -2px; width: 0; height: 2px; background: var(--nova-accent); box-shadow: 0 0 12px var(--nova-accent); transition: width .45s ease; }
.nova-stage-nav span.is-active { color: #fff; border-color: rgba(3,168,130,.35); }
.nova-stage-nav span.is-active::before { width: var(--dot-progress, 0%); }
.nova-kinetic-row { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; min-height: 150px; border-bottom: 1px solid rgba(255,255,255,.09); will-change: transform, opacity; }
.nova-kinetic-row small { color: var(--nova-accent); font: 10px Consolas, monospace; }
.nova-kinetic-row strong { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.82); font-size: 88px; font-weight: 500; line-height: 1; letter-spacing: 0; transition: color .35s, text-shadow .35s; }
.nova-kinetic-row em { color: rgba(255,255,255,.35); font-size: 9px; font-style: normal; letter-spacing: .2em; }
.nova-kinetic-row.is-reverse { text-align: right; }
.nova-kinetic-row.is-reverse small { order: 3; }
.nova-kinetic-row.is-reverse em { order: 1; text-align: left; }
.nova-kinetic-row.is-reverse strong { order: 2; }
.nova-kinetic-row:hover strong { color: var(--nova-accent); -webkit-text-stroke-color: var(--nova-accent); text-shadow: 0 0 35px rgba(182,242,59,.18); }
.nova-kinetic-progress { height: 2px; margin-top: 25px; background: rgba(255,255,255,.09); }
.nova-kinetic-progress span { display: block; width: 0; height: 100%; background: var(--nova-accent); box-shadow: 0 0 14px rgba(182,242,59,.65); }
.nova-launch { display: grid; grid-template-columns: 1fr minmax(300px, 420px) 1fr; align-items: center; gap: clamp(38px, 6vw, 90px); width: min(1240px, 100%); min-height: 350px; margin-inline: auto; }
.nova-launch-copy span { color: var(--nova-accent); font-size: 9px; letter-spacing: .2em; }
.nova-launch-copy h3 { margin: 14px 0 22px; color: #fff; font-size: clamp(36px, 4vw, 58px); font-weight: 400; line-height: 1.04; letter-spacing: 0; }
.nova-launch-copy code { display: inline-block; padding: 9px 12px; border-left: 2px solid var(--nova-accent); color: rgba(255,255,255,.62); background: rgba(2,12,24,.65); font: 10px Consolas, monospace; }
.nova-globe-wrap { position: relative; width: 100%; aspect-ratio: 1; }
.nova-globe-wrap canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.nova-globe-core { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 76px; height: 76px; transform: translate(-50%, -50%); border: 1px solid rgba(182,242,59,.48); border-radius: 50%; background: rgba(4,13,7,.86); box-shadow: 0 0 0 12px rgba(182,242,59,.035), 0 0 45px rgba(182,242,59,.2); }
.nova-globe-core b { color: var(--nova-accent); font-size: 25px; font-weight: 500; line-height: 1; }
.nova-globe-core span { margin-top: -16px; color: rgba(255,255,255,.48); font-size: 7px; letter-spacing: .2em; }
.nova-launch-stats { display: grid; gap: 20px; }
.nova-launch-stats > div { display: grid; grid-template-columns: 1fr auto; align-items: end; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.nova-launch-stats small { color: rgba(255,255,255,.42); font-size: 8px; letter-spacing: .18em; }
.nova-launch-stats strong { grid-row: span 2; color: #fff; font-size: 30px; font-weight: 400; line-height: 1; }
.nova-launch-stats strong em { color: var(--nova-accent); font-size: 11px; font-style: normal; }
.nova-launch-stats i { margin-top: 5px; color: var(--nova-accent); font-size: 8px; font-style: normal; letter-spacing: .13em; }
.nova-capability { position: relative; justify-content: center; gap: clamp(54px, 8vh, 86px); overflow: hidden; }
.nova-capability > .nova-topline { position: relative; isolation: isolate; }
.nova-capability > .nova-topline::before { content: ""; position: absolute; z-index: -1; inset: -30px -40px; background: linear-gradient(90deg, rgba(2,9,18,.85), transparent 38%, transparent 62%, rgba(2,9,18,.85)); filter: blur(12px); pointer-events: none; }

.nova-contact-card, .nova-panel { border-color: rgba(3,168,130,.25); }
.nova-code-trigger { border-color: rgba(3,168,130,.55); color: var(--nova-accent); background: rgba(2,12,24,.85); box-shadow: 0 0 0 8px rgba(0,89,240,.05), 0 0 28px rgba(3,168,130,.22); }
.nova-code-trigger::after { border-color: rgba(0,89,240,.22); }
.nova-code-trigger.is-active { color: #fff; background: var(--nova-primary); box-shadow: 0 0 38px rgba(0,89,240,.55); }
.nova-code-editor:hover, .nova-code-editor.is-hovered { border-color: rgba(3,168,130,.62); box-shadow: 0 30px 90px rgba(0,0,0,.58), 0 0 75px rgba(0,89,240,.2); }
.nova-editor-bar em { border-color: rgba(3,168,130,.3); background: rgba(0,89,240,.08); }
.nova-editor-bar em:hover, .nova-code-editor:hover .nova-editor-bar em, .nova-code-editor.is-hovered .nova-editor-bar em { color: #fff; background: var(--nova-primary); box-shadow: 0 0 24px rgba(0,89,240,.45); }
.nova-panel::before { background: linear-gradient(180deg, transparent, rgba(0,89,240,.12), rgba(3,168,130,.08), transparent); }
.nova-panel-row:hover { background: linear-gradient(90deg, rgba(0,89,240,.15), rgba(3,168,130,.04)); }
.nova-editor-bar > span:nth-child(3) { box-shadow: 0 0 9px rgba(3,168,130,.72); }
.nova-kinetic-progress span { background: linear-gradient(90deg, var(--nova-primary), var(--nova-accent)); box-shadow: 0 0 14px rgba(0,89,240,.55); }
.nova-capability-bottom { display: flex; flex: 0 0 auto; align-items: flex-end; justify-content: space-between; gap: 64px; padding-top: 0; }
.nova-capability-copy { max-width: 590px; }
.nova-capability-copy > p { max-width: 470px; margin: 24px 0 0; color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.65; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.nova-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.nova-capability .nova-title { color: transparent; background: linear-gradient(100deg, #fff 25%, #fff 43%, #03A882 50%, #0059F0 54%, #fff 61%, #fff 75%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; animation: novaTitleSignal 7s ease-in-out infinite; }
.nova-panel { position: relative; width: 100%; max-width: 445px; padding: 0 22px; border: 1px solid rgba(3,168,130,.25); border-radius: 8px; background: var(--nova-panel); box-shadow: 0 24px 70px rgba(0,0,0,.26); backdrop-filter: blur(16px); overflow: hidden; }
.nova-panel::before { content: ""; position: absolute; z-index: 0; inset: -40% 0 auto; height: 40%; background: linear-gradient(180deg, transparent, rgba(0,89,240,.12), rgba(3,168,130,.08), transparent); animation: novaPanelScan 6s ease-in-out infinite; pointer-events: none; }
.nova-panel-row { position: relative; z-index: 1; display: flex; gap: 20px; margin-inline: -22px; padding: 20px 22px; border-bottom: 1px solid rgba(255,255,255,.15); transition: transform .35s ease, background .35s ease, box-shadow .35s ease; animation: novaRowSignal 7.5s ease-in-out infinite; }
.nova-panel-row:nth-child(2) { animation-delay: 2.5s; }
.nova-panel-row:nth-child(3) { animation-delay: 5s; }
.nova-panel-row:last-child { border-bottom: 0; }
.nova-index { flex: 0 0 25px; color: rgba(255,255,255,.55); }
.nova-panel-row h3 { display: flex; justify-content: space-between; gap: 20px; margin: 0; font-size: 17px; font-weight: 500; }
.nova-panel-row h3 span { color: rgba(255,255,255,.4); font-size: 24px; line-height: .8; transition: transform .3s, color .3s; }
.nova-panel-row:hover { transform: translateX(-5px); background: linear-gradient(90deg, rgba(0,89,240,.15), rgba(3,168,130,.04)); box-shadow: inset 2px 0 var(--nova-accent); animation-play-state: paused; }
.nova-panel-row:hover h3 span { transform: translateX(4px); color: var(--nova-accent); }
.nova-panel-row p { margin: 6px 0 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.55; }

@keyframes novaTitleSignal { 0%, 65%, 100% { background-position: 100% 0; } 82% { background-position: 0 0; } }
@keyframes novaPanelScan { 0%, 12% { top: -40%; opacity: 0; } 20% { opacity: 1; } 55% { top: 100%; opacity: .7; } 62%, 100% { top: 100%; opacity: 0; } }
@keyframes novaRowSignal { 0%, 18%, 100% { background: transparent; box-shadow: inset 0 0 transparent; } 7% { background: linear-gradient(90deg, rgba(0,89,240,.13), rgba(3,168,130,.04), transparent 78%); box-shadow: inset 2px 0 var(--nova-accent); } }

.reveal { opacity: 0; transform: translateY(32px); transition: opacity .7s ease-out, transform .7s ease-out; transition-delay: var(--delay, 0ms); will-change: opacity, transform; }
.reveal-left { transform: translateX(-56px); }
.reveal-right { transform: translateX(56px); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-left.is-visible, .reveal-right.is-visible { transform: translateX(0); }

@media (max-width: 782px) {
    .nova-nav { grid-template-columns: 1fr auto; min-height: 66px; padding-inline: 20px; }
    .nova-links { display: none; }
    .nova-nav-cta { padding: 8px 12px; font-size: 11px; }
    .nova-section { padding: 92px 20px 38px; }
    .nova-topline { flex-direction: column; gap: 28px; }
    .nova-intro { max-width: 320px; align-self: flex-end; font-size: 17px; text-align: right; }
    .nova-hero-intro { max-width: 100%; align-self: auto; font-size: 15px; text-align: left; }
    .nova-hero-bottom { flex-direction: column; align-items: flex-start; gap: 28px; }
    .nova-title { font-size: clamp(44px, 14vw, 62px); }
    .nova-contact-card { align-self: flex-end; }
    .nova-capability { justify-content: center; gap: 44px; }
    .nova-capability-bottom { flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 42px; padding-top: 0; }
    .nova-panel { max-width: none; }
    .nova-code-editor { right: 20px; top: 43%; width: calc(100% - 40px); transform: translateY(-50%); opacity: .68; }
    .nova-code-trigger { right: 10px; top: 70%; }
    .nova-editor-body { height: 270px; }
    .nova-transition { min-height: 260vh; padding: 0 20px; }
    .nova-kinetic { top: 66px; min-height: calc(100vh - 66px); padding: 28px 0; }
    .nova-kinetic-row { grid-template-columns: 34px 1fr; min-height: 120px; }
    .nova-kinetic-row strong { font-size: 46px; }
    .nova-kinetic-row em { display: none; }
    .nova-kinetic-row.is-reverse small { order: initial; }
    .nova-kinetic-row.is-reverse strong { order: initial; }
    .nova-stage-view { min-height: 390px; }
    .nova-stage-view strong { font-size: 58px; }
    .nova-launch { grid-template-columns: 1fr; gap: 38px; text-align: center; }
    .nova-launch-copy code { text-align: left; }
    .nova-globe-wrap { width: min(330px, 88vw); margin-inline: auto; }
    .nova-launch-stats { grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: left; }
    .nova-launch-stats > div { display: block; }
    .nova-launch-stats strong { display: block; margin-top: 8px; font-size: 23px; }
}

@media (max-width: 420px) {
    .nova-brand { font-size: 18px; }
    .nova-nav-cta { max-width: 145px; text-align: center; }
    .nova-section { min-height: 760px; }
    .nova-title { font-size: 43px; }
    .nova-contact-card { align-self: stretch; }
    .nova-contact-card img { width: 72px; }
    .nova-panel-row { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
    .nova-capability .nova-title, .nova-panel::before, .nova-panel-row { animation: none; }
    .nova-kinetic-row { opacity: 1 !important; transform: none !important; }
}

a {
    color: var(--dt-accent);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 9999;
    padding: 10px 16px;
    background: var(--dt-accent);
    color: var(--dt-accent-ink);
}

.skip-link:focus {
    left: 12px;
    top: 12px;
}

.site-container {
    width: min(1120px, calc(100% - 48px));
    margin-inline: auto;
}

/* Header */
.site-header {
    border-bottom: 1px solid var(--dt-border);
}

.site-header .site-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 78px;
}

.site-branding a {
    color: var(--dt-ink);
    font-weight: 800;
    font-size: 20px;
    text-decoration: none;
}

.primary-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 22px;
}

.primary-navigation a {
    color: var(--dt-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.primary-navigation a:hover {
    color: var(--dt-accent);
}

/* Main content */
#main {
    min-height: 40vh;
    padding: 56px 0;
}

.page-header h1,
article h1 {
    margin: 0 0 20px;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
}

article .entry-content > * + * {
    margin-top: 18px;
}

.full-width .site-container {
    width: min(1400px, calc(100% - 48px));
}

/* Footer */
.site-footer {
    border-top: 1px solid var(--dt-border);
    color: var(--dt-muted);
    font-size: 14px;
}

.site-footer .site-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 28px 0;
}

.site-footer a {
    color: var(--dt-muted);
}
