/* =============================================
   OPTIMUS TECH — GLOBAL STYLES
   ============================================= */

:root {
    --ot-navy: #0a0f2c;
    --ot-navy-mid: #111936;
    --ot-blue: #2563eb;
    --ot-blue-light: #3b82f6;
    --ot-blue-glow: rgba(37, 99, 235, 0.15);
    --ot-text: #e2e8f0;
    --ot-muted: #94a3b8;
    --ot-card-bg: #141b3c;
    --ot-border: rgba(255,255,255,0.07);
    --ot-radius: 12px;
    --ot-transition: 0.25s ease;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--ot-navy);
    color: var(--ot-text);
    padding-top: 72px;
    margin: 0;
}

/* =============================================
   NAVBAR
   ============================================= */
.ot-navbar {
    background: rgba(10, 15, 44, 0.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ot-border);
    padding: 0.85rem 0;
}

.ot-brand {
    font-size: 1.4rem;
    font-weight: 800;
    color: #fff !important;
    text-decoration: none;
    letter-spacing: -0.3px;
}

.ot-brand i { color: var(--ot-blue); }

.ot-nav-link {
    color: var(--ot-muted) !important;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 0.85rem !important;
    border-radius: 8px;
    transition: color var(--ot-transition), background var(--ot-transition);
}

.ot-nav-link:hover, .ot-nav-link.active {
    color: #fff !important;
    background: var(--ot-blue-glow);
}

.navbar-toggler { border-color: var(--ot-border); }
.navbar-toggler-icon { filter: invert(1); }

/* =============================================
   BUTTONS
   ============================================= */
.ot-btn-primary {
    background: var(--ot-blue);
    color: #fff !important;
    border: none;
    padding: 0.55rem 1.3rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background var(--ot-transition), transform var(--ot-transition), box-shadow var(--ot-transition);
    display: inline-block;
}

.ot-btn-primary:hover {
    background: var(--ot-blue-light);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(37,99,235,0.4);
}

.ot-btn-outline {
    background: transparent;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.4);
    padding: 0.7rem 1.8rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: border-color var(--ot-transition), background var(--ot-transition);
    display: inline-block;
}

.ot-btn-outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.08);
}

/* =============================================
   HERO
   ============================================= */
.ot-hero {
    min-height: calc(100vh - 72px);
    background:
        linear-gradient(135deg, rgba(10,15,44,0.92) 0%, rgba(10,15,44,0.75) 100%),
        url('https://images.unsplash.com/photo-1518770660439-4636190af475?w=1600&q=80') center/cover no-repeat;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.ot-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 120px;
    background: linear-gradient(to bottom, transparent, var(--ot-navy));
}

.ot-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--ot-blue-glow);
    border: 1px solid rgba(37,99,235,0.3);
    color: var(--ot-blue-light);
    padding: 0.4rem 1rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.ot-hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.15;
    color: #fff;
    margin-bottom: 1.25rem;
}

.ot-hero h1 span { color: var(--ot-blue-light); }

.ot-hero p {
    font-size: 1.15rem;
    color: var(--ot-muted);
    max-width: 540px;
    margin-bottom: 2rem;
    line-height: 1.7;
}

.ot-hero-stats {
    display: flex;
    gap: 2.5rem;
    margin-top: 3rem;
    flex-wrap: wrap;
}

.ot-stat-num {
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}

.ot-stat-label {
    font-size: 0.8rem;
    color: var(--ot-muted);
    margin-top: 0.2rem;
}

/* =============================================
   SECTION COMMONS
   ============================================= */
.ot-section { padding: 5rem 0; }
.ot-section-alt { background: var(--ot-navy-mid); }

.ot-section-label {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ot-blue-light);
    margin-bottom: 0.75rem;
}

.ot-section-title {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.ot-section-sub {
    color: var(--ot-muted);
    font-size: 1.05rem;
    max-width: 560px;
    line-height: 1.7;
}

/* =============================================
   SERVICE CARDS
   ============================================= */
.ot-card {
    background: var(--ot-card-bg);
    border: 1px solid var(--ot-border);
    border-radius: var(--ot-radius);
    padding: 2rem;
    height: 100%;
    transition: transform var(--ot-transition), border-color var(--ot-transition), box-shadow var(--ot-transition);
}

.ot-card:hover {
    transform: translateY(-4px);
    border-color: rgba(37,99,235,0.4);
    box-shadow: 0 12px 40px rgba(37,99,235,0.12);
}

.ot-card-icon {
    width: 56px;
    height: 56px;
    background: var(--ot-blue-glow);
    border: 1px solid rgba(37,99,235,0.25);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: var(--ot-blue-light);
    margin-bottom: 1.25rem;
}

.ot-card h5 {
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.6rem;
}

.ot-card p {
    color: var(--ot-muted);
    font-size: 0.92rem;
    line-height: 1.65;
    margin: 0;
}

/* =============================================
   WHY US / FEATURE LIST
   ============================================= */
.ot-feature {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.ot-feature-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: var(--ot-blue-glow);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ot-blue-light);
    font-size: 1.1rem;
}

.ot-feature h6 { font-weight: 700; color: #fff; margin-bottom: 0.25rem; }
.ot-feature p { color: var(--ot-muted); font-size: 0.9rem; margin: 0; line-height: 1.6; }

/* =============================================
   CTA BANNER
   ============================================= */
.ot-cta {
    background: linear-gradient(135deg, #1d3a8a 0%, var(--ot-blue) 100%);
    border-radius: var(--ot-radius);
    padding: 3.5rem 2rem;
    text-align: center;
}

.ot-cta h2 { font-weight: 800; color: #fff; margin-bottom: 0.75rem; }
.ot-cta p { color: rgba(255,255,255,0.8); margin-bottom: 1.75rem; }

/* =============================================
   ABOUT PAGE
   ============================================= */
.ot-about-img {
    border-radius: var(--ot-radius);
    width: 100%;
    height: 420px;
    object-fit: cover;
    border: 1px solid var(--ot-border);
}

.ot-value-card {
    background: var(--ot-card-bg);
    border: 1px solid var(--ot-border);
    border-radius: var(--ot-radius);
    padding: 1.5rem;
    text-align: center;
    height: 100%;
}

.ot-value-card i { font-size: 2rem; color: var(--ot-blue-light); margin-bottom: 1rem; }
.ot-value-card h6 { font-weight: 700; color: #fff; }
.ot-value-card p { color: var(--ot-muted); font-size: 0.88rem; margin: 0; }

/* =============================================
   PAGE HERO (inner pages)
   ============================================= */
.ot-page-hero {
    padding: 4rem 0 3rem;
    background: linear-gradient(135deg, var(--ot-navy-mid) 0%, var(--ot-navy) 100%);
    border-bottom: 1px solid var(--ot-border);
    text-align: center;
}

.ot-page-hero h1 { font-weight: 800; color: #fff; margin-bottom: 0.5rem; }
.ot-page-hero p { color: var(--ot-muted); max-width: 500px; margin: 0 auto; }

/* =============================================
   FORMS
   ============================================= */
.ot-form-card {
    background: var(--ot-card-bg);
    border: 1px solid var(--ot-border);
    border-radius: var(--ot-radius);
    padding: 2.5rem;
}

.ot-form-card label {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ot-text);
    margin-bottom: 0.4rem;
}

.ot-form-card .form-control,
.ot-form-card .form-select {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--ot-border);
    color: #fff;
    border-radius: 8px;
    padding: 0.65rem 0.9rem;
    font-size: 0.95rem;
    transition: border-color var(--ot-transition), box-shadow var(--ot-transition);
}

.ot-form-card .form-control:focus,
.ot-form-card .form-select:focus {
    background: rgba(255,255,255,0.06);
    border-color: var(--ot-blue);
    box-shadow: 0 0 0 3px rgba(37,99,235,0.2);
    color: #fff;
    outline: none;
}

.ot-form-card .form-control::placeholder { color: var(--ot-muted); }
.ot-form-card .form-select option { background: var(--ot-navy-mid); color: #fff; }

.ot-form-card .form-check-input {
    background-color: rgba(255,255,255,0.08);
    border-color: var(--ot-border);
}

.ot-form-card .form-check-input:checked {
    background-color: var(--ot-blue);
    border-color: var(--ot-blue);
}

.ot-form-card .text-danger { font-size: 0.8rem; }

.ot-submit-btn {
    background: var(--ot-blue);
    color: #fff;
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1rem;
    width: 100%;
    transition: background var(--ot-transition), box-shadow var(--ot-transition);
    cursor: pointer;
}

.ot-submit-btn:hover {
    background: var(--ot-blue-light);
    box-shadow: 0 6px 20px rgba(37,99,235,0.4);
}

/* =============================================
   CONTACT INFO CARD
   ============================================= */
.ot-contact-info {
    background: var(--ot-card-bg);
    border: 1px solid var(--ot-border);
    border-radius: var(--ot-radius);
    padding: 2rem;
    height: 100%;
}

.ot-contact-info h5 { font-weight: 700; color: #fff; margin-bottom: 1.5rem; }

.ot-contact-item {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    align-items: flex-start;
}

.ot-contact-item i {
    width: 40px;
    height: 40px;
    min-width: 40px;
    background: var(--ot-blue-glow);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ot-blue-light);
    font-size: 1rem;
}

.ot-contact-item span { font-size: 0.75rem; color: var(--ot-muted); display: block; }
.ot-contact-item strong { color: #fff; font-size: 0.92rem; }

/* =============================================
   STRIPE PAYMENT SECTION
   ============================================= */
.ot-stripe-section {
    background: rgba(37,99,235,0.06);
    border: 1px solid rgba(37,99,235,0.2);
    border-radius: var(--ot-radius);
    padding: 1.5rem;
    margin-top: 1rem;
}

.ot-stripe-section label { color: var(--ot-text); }

#card-element {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--ot-border);
    border-radius: 8px;
    padding: 0.75rem 0.9rem;
    color: #fff;
}

#card-errors {
    color: #f87171;
    font-size: 0.82rem;
    margin-top: 0.4rem;
}

/* =============================================
   ALERTS
   ============================================= */
.ot-alert-success {
    background: rgba(34,197,94,0.1);
    border: 1px solid rgba(34,197,94,0.3);
    color: #86efac;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.ot-alert-error {
    background: rgba(239,68,68,0.1);
    border: 1px solid rgba(239,68,68,0.3);
    color: #fca5a5;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

/* =============================================
   FOOTER
   ============================================= */
.ot-footer {
    background: var(--ot-navy-mid);
    border-top: 1px solid var(--ot-border);
    padding: 4rem 0 2rem;
    margin-top: 0;
}

.ot-footer-heading {
    font-weight: 700;
    color: #fff;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}

.ot-footer-links { margin: 0; padding: 0; }
.ot-footer-links li, .ot-footer-links a {
    color: var(--ot-muted);
    font-size: 0.88rem;
    text-decoration: none;
    margin-bottom: 0.5rem;
    display: block;
    transition: color var(--ot-transition);
}
.ot-footer-links a:hover { color: #fff; }

.ot-footer-divider {
    border-color: var(--ot-border);
    margin: 2rem 0 1.5rem;
}

.ot-footer .text-muted {
    color: var(--ot-muted) !important;
}

.ot-footer a.text-muted {
    color: var(--ot-muted) !important;
    text-decoration: none;
    transition: color var(--ot-transition);
}

.ot-footer a.text-muted:hover { color: #fff !important; }

.ot-social { display: flex; gap: 0.75rem; }
.ot-social a {
    width: 36px;
    height: 36px;
    background: var(--ot-blue-glow);
    border: 1px solid rgba(37,99,235,0.2);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ot-muted);
    font-size: 0.85rem;
    text-decoration: none;
    transition: color var(--ot-transition), background var(--ot-transition);
}
.ot-social a:hover { color: #fff; background: var(--ot-blue); }

.ot-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.ot-hero-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
}

.ot-hero-badge-item i { color: var(--ot-blue-light); }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 768px) {
    .ot-hero { min-height: 85vh; text-align: center; }
    .ot-hero p { margin: 0 auto 2rem; }
    .ot-hero-stats { justify-content: center; gap: 1.5rem; }
    .ot-form-card { padding: 1.5rem; }
    .ot-section { padding: 3.5rem 0; }
    .ot-trust-item { justify-content: flex-start; padding-left: 1.5rem; }
}

/* =============================================
   TRUST BAR
   ============================================= */
.ot-trust-bar {
    background: linear-gradient(135deg, #0d1535 0%, var(--ot-navy-mid) 100%);
    border-top: 1px solid rgba(37,99,235,0.2);
    border-bottom: 1px solid rgba(37,99,235,0.2);
    padding: 1rem 0;
}

.ot-trust-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.85rem;
    padding: 0.5rem 1rem;
}

.ot-trust-item i {
    font-size: 1.6rem;
    color: var(--ot-blue-light);
    min-width: 28px;
}

.ot-trust-item strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.ot-trust-item span {
    display: block;
    color: var(--ot-muted);
    font-size: 0.8rem;
    margin-top: 0.15rem;
}

/* =============================================
   PROMISE CARDS
   ============================================= */
.ot-promise-card {
    background: var(--ot-card-bg);
    border: 1px solid var(--ot-border);
    border-radius: var(--ot-radius);
    padding: 2.5rem 2rem;
    height: 100%;
    text-align: center;
    transition: transform var(--ot-transition), border-color var(--ot-transition), box-shadow var(--ot-transition);
}

.ot-promise-card:hover {
    transform: translateY(-4px);
    border-color: rgba(37,99,235,0.4);
    box-shadow: 0 12px 40px rgba(37,99,235,0.12);
}

.ot-promise-card--featured {
    background: linear-gradient(135deg, #1a2d6b 0%, #1e3a8a 100%);
    border-color: rgba(37,99,235,0.5);
    box-shadow: 0 8px 32px rgba(37,99,235,0.2);
}

.ot-promise-icon {
    width: 72px;
    height: 72px;
    background: var(--ot-blue-glow);
    border: 2px solid rgba(37,99,235,0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--ot-blue-light);
    margin: 0 auto 1.5rem;
}

.ot-promise-card--featured .ot-promise-icon {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.2);
    color: #fff;
}

.ot-promise-card h4 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 1rem;
}

.ot-promise-card p {
    color: var(--ot-muted);
    font-size: 0.93rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.ot-promise-card--featured p { color: rgba(255,255,255,0.75); }
.ot-promise-card p strong { color: #fff; }

.ot-promise-link {
    color: var(--ot-blue-light);
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--ot-transition);
}

.ot-promise-link:hover { color: #fff; }
.ot-promise-card--featured .ot-promise-link { color: rgba(255,255,255,0.8); }
.ot-promise-card--featured .ot-promise-link:hover { color: #fff; }

/* 2026 enterprise homepage refresh */
:root { --ots-ink:#071a34; --ots-blue:#087db8; --ots-cyan:#08a7c8; --ots-lime:#88c52d; --ots-paper:#f4f7f9; }
body { font-family:'DM Sans',sans-serif; background:#fff; color:var(--ots-ink); }
h1,h2,h3,h4,.ot-brand { font-family:'Manrope',sans-serif; }
.ot-navbar { background:rgba(255,255,255,.94); border-bottom:1px solid rgba(7,26,52,.09); box-shadow:0 8px 30px rgba(7,26,52,.04); }
.ot-nav-link { color:#536275 !important; }
.ot-nav-link:hover,.ot-nav-link.active { color:var(--ots-ink) !important; background:#edf5f8; }
.ot-btn-primary { background:var(--ots-ink); border-radius:100px; padding:.7rem 1.25rem; }
.ot-btn-primary:hover { background:#0d315d; box-shadow:0 8px 24px rgba(7,26,52,.25); }
.ot-logo-link { display:block; width:224px; height:52px; overflow:visible; padding:0; }
.ot-logo-crop { display:flex; align-items:center; width:224px; height:52px; }
.ot-logo-crop img { display:block; width:224px; height:auto; max-height:52px; }
.footer-logo { opacity:.98; }
.ots-animated-logo{display:block;width:100%;height:auto;overflow:visible}.ots-ring-dark{stroke:#062b52;stroke-width:36}.ots-ring-cyan{stroke:#12a8bf;stroke-width:36}.ots-node-dark{fill:#062b52;stroke:#fff;stroke-width:7}.ots-node-lime{fill:#8bc926;stroke:#fff;stroke-width:7}.ots-visor{fill:#12a8bf;opacity:.2}.ots-brow{fill:none;stroke:#062b52;stroke-width:4;stroke-linecap:round}.ots-eye-shell{fill:#fff;stroke:#12a8bf;stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform 120ms ease}.ots-eye{fill:#062b52;transform-box:fill-box;transform-origin:center;transition:transform 120ms ease}.ots-eye-glint{fill:#fff;transition:opacity 80ms ease}.ots-mouth rect,.ots-antenna-tip{fill:#8bc926}.ots-antenna{fill:none;stroke:#062b52;stroke-width:4;stroke-linecap:round}.ots-robot-face.is-blinking .ots-eye,.ots-robot-face.is-blinking .ots-eye-shell{transform:scaleY(.08)}.ots-robot-face.is-blinking .ots-eye-glint{opacity:0}.ots-logo-letters text{fill:#062b52;dominant-baseline:alphabetic;transform-box:fill-box;transform-origin:center bottom}.ots-logo-optimus text{font-family:Manrope,Arial,sans-serif;font-size:82px;font-weight:800}.ots-logo-tech text{font-family:Manrope,Arial,sans-serif;font-size:58px;font-weight:500}.ots-animated-logo.is-running .ots-logo-letters text{animation:otsLetterRun 720ms cubic-bezier(.18,.82,.28,1) both}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(2){animation-delay:80ms}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(3){animation-delay:160ms}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(4){animation-delay:240ms}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(5){animation-delay:320ms}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(6){animation-delay:400ms}.ots-animated-logo.is-running .ots-logo-letters text:nth-child(7){animation-delay:480ms}.ots-animated-logo.is-running .ots-logo-tech text:nth-child(1){animation-delay:560ms}.ots-animated-logo.is-running .ots-logo-tech text:nth-child(2){animation-delay:640ms}.ots-animated-logo.is-running .ots-logo-tech text:nth-child(3){animation-delay:720ms}.ots-animated-logo.is-running .ots-logo-tech text:nth-child(4){animation-delay:800ms}@keyframes otsLetterRun{0%{opacity:0;transform:translateX(-38px) translateY(8px) rotate(-12deg) scale(.72)}45%{opacity:1;transform:translateX(4px) translateY(-19px) rotate(5deg) scale(1.06)}72%{transform:translateX(-2px) translateY(4px) rotate(-2deg) scale(.98)}100%{opacity:1;transform:none}}
.ent-hero { min-height:760px; background:var(--ots-ink); color:white; position:relative; overflow:hidden; display:flex; align-items:center; }
.ent-grid { position:absolute; inset:0; opacity:.28; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,#000,transparent 78%); }
.ent-hero:before { content:""; position:absolute; width:650px; height:650px; right:-120px; top:-180px; background:radial-gradient(circle,rgba(8,167,200,.24),transparent 68%); }
.ent-hero-inner { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.ent-eyebrow,.repair-copy>span { color:#89d7e5; text-transform:uppercase; font-size:.75rem; font-weight:700; letter-spacing:.18em; }
.ent-eyebrow span { width:28px; height:1px; background:var(--ots-lime); display:inline-block; vertical-align:middle; margin-right:.7rem; }
.ent-hero h1 { font-size:clamp(3.2rem,5.5vw,5.7rem); line-height:.98; letter-spacing:-.055em; font-weight:700; margin:1.4rem 0 1.6rem; }
.ent-hero h1 em { font-style:normal; color:#8dd4e0; display:block; }
.ent-hero-copy>p { font-size:1.12rem; color:#aab7c8; max-width:610px; line-height:1.75; }
.ent-actions { display:flex; gap:.8rem; margin:2.2rem 0; flex-wrap:wrap; }
.ent-btn { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; padding:.85rem 1.4rem; border-radius:100px; text-decoration:none; font-weight:700; transition:.25s ease; }
.ent-btn:hover { transform:translateY(-2px); }
.ent-btn-primary { background:var(--ots-lime); color:var(--ots-ink); }
.ent-btn-primary:hover { color:var(--ots-ink); box-shadow:0 12px 30px rgba(136,197,45,.22); }
.ent-btn-ghost { border:1px solid rgba(255,255,255,.25); color:#fff; }.ent-btn-ghost:hover{color:#fff;border-color:#fff}
.ent-proof { display:flex; gap:1.35rem; color:#9fadc0; font-size:.78rem; flex-wrap:wrap; }.ent-proof i{color:var(--ots-lime);margin-right:.35rem}
.ent-motion { position:relative; min-height:510px; display:flex; align-items:center; perspective:1000px; }
.motion-glow { position:absolute; inset:10% 0; background:radial-gradient(circle,rgba(8,167,200,.3),transparent 65%); filter:blur(25px); }
.product-window { width:100%; position:relative; background:#fff; border:1px solid rgba(255,255,255,.2); border-radius:18px; overflow:hidden; box-shadow:0 45px 90px rgba(0,0,0,.38); transform:rotateY(-6deg) rotateX(2deg); animation:windowFloat 6s ease-in-out infinite; }
.window-bar,.browser-top { height:36px; background:#e9eef2; display:flex; align-items:center; padding:0 14px; gap:6px; }.window-bar>span,.browser-top i{width:7px;height:7px;background:#bdc9d1;border-radius:50%}.window-bar b{font-size:.62rem;color:#82909b;margin:auto;font-weight:600}.window-body{display:grid;grid-template-columns:54px 1fr;min-height:350px;background:#f5f8fa}.window-body aside{background:#0b2444;padding:16px 13px;display:flex;flex-direction:column;gap:24px;align-items:center}.window-body aside div{width:26px;height:26px;border-radius:7px;background:var(--ots-lime);color:#071a34;display:grid;place-items:center;font-weight:800}.window-body aside i{width:17px;height:5px;background:#49617d;border-radius:5px}.mock-main{padding:28px}.mock-title{display:flex;justify-content:space-between;align-items:center;color:var(--ots-ink)}.mock-title small{display:block;color:#84919e;font-size:.65rem}.mock-title strong{font-size:1.15rem}.mock-title>span{font-size:.6rem;color:#27875a;background:#dff5e8;border-radius:20px;padding:5px 9px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.metric-row>div{background:#fff;border:1px solid #e5edf1;border-radius:10px;padding:14px}.metric-row small{display:block;color:#82909c;font-size:.58rem}.metric-row strong{font-size:1rem;color:var(--ots-ink)}.metric-row i{display:block;width:70%;height:3px;background:#9dd7df;border-radius:3px;margin-top:10px}.chart-card{height:135px;background:#fff;border:1px solid #e5edf1;border-radius:10px;padding:20px;position:relative}.chart-bars{height:100%;display:flex;align-items:end;gap:10px}.chart-bars i{flex:1;background:linear-gradient(#0b93b8,#c4ebef);border-radius:3px 3px 0 0}.chart-bars i:nth-child(1){height:30%}.chart-bars i:nth-child(2){height:52%}.chart-bars i:nth-child(3){height:40%}.chart-bars i:nth-child(4){height:76%}.chart-bars i:nth-child(5){height:58%}.chart-bars i:nth-child(6){height:88%}.chart-bars i:nth-child(7){height:70%}
.float-card{position:absolute;background:white;color:var(--ots-ink);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 45px rgba(0,0,0,.25);animation:cardFloat 4.5s ease-in-out infinite}.float-card>span{width:30px;height:30px;border-radius:8px;background:#e0f4f5;display:grid;place-items:center;color:#078ba7}.float-card small,.float-card strong{display:block;font-size:.62rem}.float-card small{color:#8a98a5}.float-card strong{font-size:.74rem}.float-a{left:-30px;top:45px}.float-b{right:-18px;bottom:40px;animation-delay:-2s}
@keyframes windowFloat {50%{transform:rotateY(-4deg) rotateX(1deg) translateY(-8px)}} @keyframes cardFloat {50%{transform:translateY(-10px)}}
.ent-trust { background:#fff; border-bottom:1px solid #e3e9ed; }.ent-trust>.container{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.ent-trust p{margin:0;font-weight:700;color:#6b7887}.ent-trust div div{display:flex;gap:2.5rem;color:#a0abb4;font-size:.68rem;letter-spacing:.14em;font-weight:700}
.ent-section{padding:7rem 0;background:#fff}.ent-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}.ent-heading>div>span,.project-copy .project-tags span{color:#0786a6;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.16em}.ent-heading h2{font-size:clamp(2.3rem,4vw,4.1rem);letter-spacing:-.05em;margin:.65rem 0 0;color:var(--ots-ink);font-weight:700}.ent-heading>p{max-width:480px;color:#667588;line-height:1.75;margin:0}.cap-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1rem}.cap-card{border:1px solid #dfe7eb;border-radius:18px;padding:2rem;min-height:480px;position:relative;overflow:hidden;background:#fff}.cap-card>small{position:absolute;right:2rem;top:2rem;color:#a8b3bb}.cap-icon{width:52px;height:52px;border-radius:14px;background:#daf1f4;color:#087f9c;display:grid;place-items:center;font-size:1.2rem}.cap-icon.lime{background:#ebf5db;color:#5f9418}.cap-card h3{font-size:1.55rem;margin:2rem 0 1rem}.cap-card p,.cap-card li{color:#6c7989;line-height:1.65;font-size:.9rem}.cap-card ul{list-style:none;padding:0;margin:1.4rem 0}.cap-card li{padding:.35rem 0}.cap-card li:before{content:'+';color:#0a91ad;margin-right:.6rem}.cap-card>a,.project-copy>a{color:var(--ots-ink);font-weight:700;text-decoration:none;position:absolute;bottom:2rem}.cap-card>a i,.project-copy>a i{margin-left:.5rem}.cap-feature{background:var(--ots-ink);color:white;border-color:var(--ots-ink)}.cap-feature h3,.cap-feature>a{color:#fff}.cap-feature p,.cap-feature li{color:#a7b4c4}.code-art{position:absolute;right:-30px;bottom:45px;opacity:.09;display:flex;flex-direction:column;font-family:monospace;font-size:1.4rem;transform:rotate(-8deg)}
.work-section{background:var(--ots-ink)}.ent-heading.light h2{color:#fff}.ent-heading.light>p{color:#9eacbd}.project-grid{display:grid;gap:1.2rem}.project-card{min-height:550px;border-radius:22px;padding:3.5rem;display:grid;grid-template-columns:.72fr 1.28fr;gap:3rem;overflow:hidden;position:relative}.health-card{background:#dcefe8}.sumvero-card{background:#dbe9f8}.project-copy{padding-top:1rem;position:relative;z-index:2}.project-copy h3{font-size:3rem;letter-spacing:-.05em;margin:1.2rem 0}.project-copy p{color:#4e6170;line-height:1.75;max-width:340px}.project-tags{display:flex;gap:1rem}.project-copy>a{bottom:1rem}.project-browser{background:#fff;border-radius:14px 14px 0 0;overflow:hidden;box-shadow:0 30px 60px rgba(7,26,52,.18);transform:translate(30px,45px) rotate(-2deg);min-height:420px}.browser-top span{color:#87949e;font-size:.6rem;margin-left:10px}.fake-nav{padding:18px 24px;font-weight:700;color:#164835;font-family:Manrope}.fake-nav>span{float:right;font-size:.58rem;font-weight:600;color:#647b71}.fake-hero{padding:50px 32px;min-height:260px;background:linear-gradient(120deg,#f1f7ed,#c5dfd2);display:flex;flex-direction:column;align-items:flex-start}.fake-hero small{font-size:.55rem;letter-spacing:.18em;color:#4a735f}.fake-hero strong{font:700 2rem/1.08 Manrope;margin:12px 0 20px;color:#163e30}.fake-hero button{border:0;background:#1f6047;color:#fff;border-radius:30px;padding:8px 13px;font-size:.55rem}.fake-products{display:flex;gap:10px;padding:14px}.fake-products i{height:75px;flex:1;border-radius:6px;background:#e9eee7}.sumvero-card .project-browser{transform:translate(30px,45px) rotate(2deg)}.sumvero-ui .fake-nav{color:#123d6b}.sumvero-ui .fake-hero{background:linear-gradient(135deg,#edf5fc,#cadff4)}.sumvero-ui .fake-hero small{color:#356d9d}.sumvero-ui .fake-hero strong{color:#0c3156}.data-cards{display:flex;gap:8px;width:100%;margin-top:15px}.data-cards i{height:55px;flex:1;border-radius:7px;background:rgba(255,255,255,.8)}
.repair-section{background:#f0f5f5}.repair-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.repair-copy h2{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.055em;margin:1rem 0}.repair-copy p{color:#647486;max-width:500px;font-size:1.05rem;line-height:1.75}.repair-action{display:flex;align-items:center;gap:1.4rem;margin-top:2rem}.ent-btn-dark{background:var(--ots-ink);color:#fff}.ent-btn-dark:hover{color:#fff}.repair-action>span strong,.repair-action>span small{display:block}.repair-action>span small{color:#768493;font-size:.72rem}.repair-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.repair-list>div{background:#fff;border:1px solid #dce5e8;border-radius:14px;padding:1.6rem;min-height:145px}.repair-list>div>i{font-size:1.4rem;color:#0688a5;margin-bottom:1.4rem}.repair-list span,.repair-list strong,.repair-list small{display:block}.repair-list small{color:#718090;margin-top:.35rem}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d7e0e4}.process-line>div{padding:2rem 2rem 0 0;position:relative}.process-line>div:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ots-lime);position:absolute;top:-4px}.process-line span{font-size:.7rem;color:#87939d}.process-line h3{margin:1.1rem 0 .5rem}.process-line p{color:#718090}.ent-contact{background:linear-gradient(120deg,#087e9d,#0b98aa);color:#fff;padding:7rem 0;text-align:center}.ent-contact>div>span{letter-spacing:.15em;text-transform:uppercase;font-size:.68rem;font-weight:800}.ent-contact h2{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.06em;margin:1rem 0 2rem}.ent-btn-white{background:#fff;color:var(--ots-ink)}.ent-btn-white:hover{color:var(--ots-ink)}
.ot-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.ot-reveal.is-visible{opacity:1;transform:none}
.ot-footer{background:#06162c}.ot-footer .ot-brand{display:block}.ot-footer .ot-logo-crop{background:#fff;border-radius:8px;padding:5px 8px}.ot-footer .footer-logo{filter:none}
@media(max-width:991px){.ent-hero{padding:7rem 0 4rem}.ent-hero-inner{grid-template-columns:1fr;gap:2rem}.ent-motion{min-height:430px}.cap-grid{grid-template-columns:1fr}.cap-card{min-height:auto}.project-card{grid-template-columns:1fr;padding:2rem;min-height:760px}.repair-grid{grid-template-columns:1fr}.ent-trust div div{gap:1rem}.ent-heading{align-items:start;flex-direction:column}.ot-logo-link{width:190px}.navbar-collapse{background:#fff;padding:1rem;margin-top:.8rem;border-radius:12px;box-shadow:0 15px 30px rgba(0,0,0,.1)}}
@media(max-width:650px){.ent-hero h1{font-size:3rem}.ent-motion{min-height:330px}.product-window{transform:none}.window-body{min-height:250px}.mock-main{padding:15px}.chart-card{height:90px}.float-card{display:none}.ent-trust>.container{align-items:flex-start;flex-direction:column;padding-top:1.5rem;padding-bottom:1.5rem}.ent-trust div div{flex-wrap:wrap}.project-card{min-height:650px;padding:1.4rem}.project-copy h3{font-size:2.3rem}.project-browser{transform:translate(10px,35px)!important}.repair-list{grid-template-columns:1fr}.repair-action{align-items:flex-start;flex-direction:column}.process-line{grid-template-columns:1fr 1fr}.ent-section{padding:4.5rem 0}.ent-proof{gap:.7rem}.window-body aside{display:none}.window-body{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-window,.float-card{animation:none}.ot-reveal{opacity:1;transform:none;transition:none}}
@media(prefers-reduced-motion:reduce){.ots-animated-logo.is-running .ots-logo-letters text{animation:none}.ots-eye,.ots-eye-shell,.ots-eye-glint{transition:none}}

/* Opti guided enquiry assistant */
.opti-widget{position:fixed;right:24px;bottom:22px;z-index:1090;font-family:'DM Sans',sans-serif}.opti-launcher{border:0;background:var(--ots-ink);color:#fff;border-radius:16px;padding:10px 16px 10px 10px;display:flex;align-items:center;gap:10px;box-shadow:0 16px 45px rgba(7,26,52,.28);transition:.22s ease}.opti-launcher:hover{transform:translateY(-2px)}.opti-launcher>span:last-child{text-align:left}.opti-launcher strong,.opti-launcher small{display:block}.opti-launcher strong{font-size:.87rem}.opti-launcher small{font-size:.66rem;color:#aebccc}.opti-launch-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--ots-cyan),var(--ots-lime));display:grid;place-items:center;font-size:1rem}.opti-panel{position:absolute;right:0;bottom:0;width:min(390px,calc(100vw - 24px));height:min(640px,calc(100vh - 34px));display:flex;flex-direction:column;background:#fff;color:var(--ots-ink);border-radius:20px;box-shadow:0 28px 80px rgba(7,26,52,.3);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(14px) scale(.98);transform-origin:bottom right;transition:.22s ease}.opti-widget.is-open .opti-panel{opacity:1;visibility:visible;transform:none}.opti-widget.is-open .opti-launcher{opacity:0;visibility:hidden}.opti-header{background:var(--ots-ink);color:#fff;padding:15px 17px;display:flex;align-items:center;gap:11px}.opti-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--ots-cyan),var(--ots-lime));display:grid;place-items:center;font-weight:800;position:relative}.opti-avatar span{position:absolute;width:9px;height:9px;border-radius:50%;background:#5ee19b;border:2px solid var(--ots-ink);right:-2px;bottom:-2px}.opti-header>div:nth-child(2){flex:1}.opti-header strong,.opti-header small{display:block}.opti-header strong{font-family:Manrope;font-size:.95rem}.opti-header small{font-size:.68rem;color:#aebccc}.opti-header small i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5ee19b;margin-right:4px}.opti-close{border:0;background:rgba(255,255,255,.08);color:#fff;width:32px;height:32px;border-radius:9px}.opti-progress{height:3px;background:#e7edf0}.opti-progress span{display:block;height:100%;width:8%;background:linear-gradient(90deg,var(--ots-cyan),var(--ots-lime));transition:width .3s ease}.opti-body{flex:1;overflow-y:auto;background:#f4f7f8;padding:18px}.opti-messages{display:flex;flex-direction:column;gap:10px}.opti-message{max-width:88%;padding:11px 13px;border-radius:14px;font-size:.82rem;line-height:1.5;animation:optiIn .22s ease}.opti-message.bot{align-self:flex-start;background:#fff;border:1px solid #e1e8eb;border-bottom-left-radius:4px}.opti-message.user{align-self:flex-end;background:#dff2f3;color:#123b4a;border-bottom-right-radius:4px}.opti-message strong{font-weight:700}.opti-controls{margin-top:13px;display:grid;gap:8px}.opti-choice{border:1px solid #d6e1e5;background:#fff;color:var(--ots-ink);border-radius:12px;padding:11px 13px;text-align:left;font-size:.8rem;font-weight:600;transition:.18s ease}.opti-choice:hover{border-color:var(--ots-cyan);background:#f2fbfb;transform:translateX(2px)}.opti-choice i{width:25px;color:#078ba7}.opti-input-wrap{display:flex;gap:7px}.opti-input,.opti-textarea{width:100%;border:1px solid #cfdbdf;background:#fff;color:var(--ots-ink);border-radius:12px;padding:11px 12px;font-size:.82rem;outline:none}.opti-textarea{min-height:92px;resize:vertical}.opti-input:focus,.opti-textarea:focus{border-color:var(--ots-cyan);box-shadow:0 0 0 3px rgba(8,167,200,.11)}.opti-send{border:0;background:var(--ots-ink);color:#fff;border-radius:11px;width:43px;min-width:43px}.opti-error{font-size:.7rem;color:#b42318;margin-top:2px}.opti-consent{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid #dae3e6;border-radius:12px;padding:11px;font-size:.72rem;color:#566675;line-height:1.45}.opti-consent input{margin-top:3px;accent-color:var(--ots-cyan)}.opti-submit{border:0;background:var(--ots-lime);color:var(--ots-ink);border-radius:12px;padding:12px;font-weight:800;font-size:.82rem}.opti-submit:disabled{opacity:.55}.opti-summary{background:#fff;border:1px solid #dae3e6;border-radius:13px;padding:12px;font-size:.76rem}.opti-summary div{padding:5px 0;border-bottom:1px solid #edf1f3}.opti-summary div:last-child{border:0}.opti-summary small{display:block;color:#80909c}.opti-honeypot{position:absolute!important;left:-9999px!important}.opti-footer{height:42px;border-top:1px solid #e2e8eb;display:flex;align-items:center;padding:0 14px;gap:12px;background:#fff}.opti-footer button{border:0;background:transparent;color:#657583;font-size:.67rem;padding:0}.opti-footer span{margin-left:auto;color:#9aa6ae;font-size:.62rem}.opti-back{visibility:hidden}.opti-back.show{visibility:visible}.opti-success-icon{width:48px;height:48px;border-radius:50%;background:#e2f3cc;color:#5b8d1c;display:grid;place-items:center;font-size:1.2rem;margin-bottom:8px}@keyframes optiIn{from{opacity:0;transform:translateY(5px)}}
@media(max-width:520px){.opti-widget{right:12px;bottom:12px}.opti-panel{position:fixed;inset:0;width:100%;height:100%;max-height:none;border-radius:0}.opti-launcher{padding-right:12px}.opti-body{padding:16px}.opti-widget.is-open .opti-launcher{display:none}}
@media(prefers-reduced-motion:reduce){.opti-panel,.opti-launcher,.opti-message{transition:none;animation:none}}

/* Approved v3 robotic logo refinements */
.ots-cheek{fill:#8bc926;opacity:.72}
.ots-logo-optimus text,.ots-logo-tech text{font-family:Manrope,Arial,sans-serif;font-size:78px}
.ots-logo-optimus text{font-weight:800}
.ots-logo-tech text{font-weight:500}
