/* ============================================================
   DIGI RITUAL – PREMIUM DIGITAL AGENCY
   style.css
   ============================================================ */

:root {
    --bg: #030712;
    --bg2: #0b0f19;
    --bg3: #111827;
    --card: rgba(17, 24, 39, 0.45);
    --card2: rgba(31, 41, 55, 0.65);
    --border: rgba(201, 169, 110, 0.08);
    --border2: rgba(201, 169, 110, 0.16);
    --gold: #c9a96e;
    --gold2: #e5c185;
    --gold3: rgba(201, 169, 110, 0.1);
    --blue: #ffffff;
    --blue2: #c9a96e;
    --blue3: rgba(255, 255, 255, 0.08);
    --text: #f3f4f6;
    --text2: #9ca3af;
    --text3: #6b7280;
    --white: #ffffff;
    --radius: 48px 12px 48px 12px;
    --radius-sm: 24px 8px 24px 8px;
    --shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
    --shadow-gold: 0 0 50px rgba(201, 169, 110, 0.12);
    --transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    --font-display: 'Sora', system-ui, sans-serif;
    --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
}

[data-theme="light"] {
    --bg: #f4f6f8;
    --bg2: #ffffff;
    --bg3: #e5e7eb;
    --card: rgba(255, 255, 255, 0.75);
    --card2: rgba(243, 244, 246, 0.85);
    --border: rgba(179, 143, 77, 0.08);
    --border2: rgba(179, 143, 77, 0.16);
    --gold: #b38f4d;
    --gold2: #8c6b30;
    --gold3: rgba(179, 143, 77, 0.08);
    --blue: #111827;
    --blue2: #111827;
    --blue3: rgba(17, 24, 39, 0.06);
    --text: #111827;
    --text2: #4b5563;
    --text3: #9ca3af;
    --white: #111827;
    --shadow: 0 15px 45px rgba(17, 24, 39, 0.04);
    --shadow-gold: 0 0 45px rgba(17, 143, 77, 0.06);
}

[data-theme="light"] .nav-inner {
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(143, 112, 51, 0.22) !important;
    border-top: 1.8px solid rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 20px 40px rgba(40, 32, 20, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

[data-theme="light"] .navbar.scrolled .nav-inner {
    background: rgba(255, 255, 255, 0.55) !important;
    backdrop-filter: blur(28px) !important;
    border-color: rgba(140, 102, 33, 0.35) !important;
    border-top: 1.8px solid rgba(140, 102, 33, 0.6) !important;
    box-shadow: 0 24px 50px rgba(40, 32, 20, 0.1), 0 0 25px rgba(140, 102, 33, 0.08) !important;
}

[data-theme="light"] .nav-links {
    background: rgba(253, 252, 249, 0.85) !important;
    backdrop-filter: blur(24px) !important;
    border-color: rgba(140, 102, 33, 0.18) !important;
}

[data-theme="light"] .nav-links a {
    color: var(--text) !important;
}

[data-theme="light"] .nav-links a:hover,
[data-theme="light"] .nav-links a.active {
    color: var(--gold) !important;
}

/* HIGH LEGIBILITY WHITE TEXT OVER GOLD BACKGROUND FOR ENQUIRY BUTTON IN LIGHT THEME */
[data-theme="light"] .nav-enquiry-btn,
[data-theme="light"] .nav-links .nav-enquiry-btn,
[data-theme="light"] .nav-links a.nav-enquiry-btn,
[data-theme="light"] .nav-links a.nav-enquiry-btn.active,
[data-theme="light"] .nav-links a.nav-enquiry-btn:hover {
    color: #ffffff !important;
}

[data-theme="light"] .nav-enquiry-btn:hover {
    box-shadow: 0 8px 20px rgba(140, 102, 33, 0.25) !important;
}

[data-theme="light"] .hero-orb {
    opacity: 0.35;
}

[data-theme="light"] .hero-grid {
    opacity: 1;
    background-image: radial-gradient(rgba(179, 143, 77, 0.035) 1.5px, transparent 1.5px) !important;
    background-size: 40px 40px !important;
}

/* FROSTED GLASS EFFECTS FOR CARDS IN LIGHT THEME */
[data-theme="light"] .service-card,
[data-theme="light"] .plan-card,
[data-theme="light"] .testi-card,
[data-theme="light"] .why-card {
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(16px) !important;
    border-color: rgba(140, 102, 33, 0.1) !important;
}

[data-theme="light"] .service-card.featured,
[data-theme="light"] .plan-card.featured {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.85), rgba(246, 243, 235, 0.75)) !important;
    border-color: rgba(140, 102, 33, 0.28) !important;
    box-shadow: 0 15px 45px rgba(140, 102, 33, 0.05) !important;
}

[data-theme="light"] .plan-badge,
[data-theme="light"] .sc-badge {
    color: #ffffff !important;
}

/* PREMIUM LIGHT THEME COST ESTIMATOR CARD & RESULT PANEL */
[data-theme="light"] .calc-result-panel {
    background: linear-gradient(135deg, rgba(140, 102, 33, 0.08), rgba(255, 253, 249, 0.95)) !important;
    border-color: rgba(140, 102, 33, 0.2) !important;
    box-shadow: 0 20px 40px rgba(140, 102, 33, 0.04) !important;
}

[data-theme="light"] .calc-result-panel::before {
    background: radial-gradient(circle at top right, rgba(140, 102, 33, 0.15), transparent 60%) !important;
}

[data-theme="light"] .res-label {
    color: #8c6621 !important;
    font-weight: 600 !important;
}

[data-theme="light"] .res-speed span {
    color: #1d1a15 !important;
}

[data-theme="light"] .res-plan-box {
    background: rgba(140, 102, 33, 0.04) !important;
    border-color: rgba(140, 102, 33, 0.15) !important;
}

[data-theme="light"] .res-plan-name {
    color: #1d1a15 !important;
}

[data-theme="light"] .res-plan-price {
    color: #636880 !important;
}

/* PREMIUM LIGHT THEME CTA BANNER TRANSITION */
[data-theme="light"] .cta-banner {
    background: linear-gradient(135deg, #fbf7ed 0%, #f6f3eb 50%, #eae5d8 100%) !important;
    border-color: rgba(140, 102, 33, 0.15) !important;
}

[data-theme="light"] .cta-banner h2 {
    color: #1d1a15 !important;
}

[data-theme="light"] .cta-banner p {
    color: #636880 !important;
}

[data-theme="light"] .cta-banner .btn-white {
    background: #1d1a15 !important;
    color: #ffffff !important;
    border: none !important;
}

[data-theme="light"] .cta-banner .btn-white:hover {
    background: #8c6621 !important;
    color: #ffffff !important;
}

[data-theme="light"] .cta-banner .btn-outline-white {
    border: 2px solid rgba(29, 26, 21, 0.25) !important;
    color: #1d1a15 !important;
}

[data-theme="light"] .cta-banner .btn-outline-white:hover {
    border-color: #8c6621 !important;
    background: rgba(140, 102, 33, 0.05) !important;
    color: #8c6621 !important;
}

/* RESET */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    width: 100%;
}

body {
    font-family: var(--font-body);
    background: var(--bg);
    background-image:
        radial-gradient(ellipse 60% 40% at 50% -10%, rgba(201, 169, 110, 0.08), transparent 70%),
        radial-gradient(rgba(255, 255, 255, 0.018) 1.5px, transparent 1.5px);
    background-size: 100% 100%, 40px 40px;
    background-attachment: scroll, fixed;
    color: var(--text);
    line-height: 1.65;
    overflow-x: hidden;
}

[data-theme="light"] body {
    background-image:
        radial-gradient(ellipse 60% 40% at 50% -10%, rgba(179, 143, 77, 0.05), transparent 70%),
        radial-gradient(rgba(28, 25, 21, 0.02) 1.5px, transparent 1.5px) !important;
}

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

a {
    color: var(--gold);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--gold2);
}

ul {
    list-style: none;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: var(--font-body);
}

input,
textarea,
select {
    font-family: var(--font-body);
    font-size: 0.95rem;
    color: var(--text);
    background: var(--bg3);
    border: 1.5px solid var(--border2);
    border-radius: var(--radius-sm);
    padding: 12px 16px;
    width: 100%;
    outline: none;
    transition: var(--transition);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px var(--gold3);
}

select option {
    background: var(--bg2);
}

textarea {
    resize: vertical;
}

/* SCROLLBAR */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: var(--bg2);
}

::-webkit-scrollbar-thumb {
    background: var(--border2);
    border-radius: 3px;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,
h2,
h3,
h4 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.015em;
}

h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    background: linear-gradient(135deg, var(--white) 35%, var(--gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

h2 {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    background: linear-gradient(135deg, var(--white) 35%, var(--gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

h3 {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    font-weight: 600;
}

h1 em,
h2 em {
    font-style: italic;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold2) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

p {
    color: var(--text2);
}

.eyebrow {
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}

/* ============================================================
   LAYOUT
   ============================================================ */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.section {
    padding: 100px 0;
}

.section-head {
    text-align: center;
    margin-bottom: 64px;
}

.section-head h2 {
    margin-top: 4px;
}

.mt-1 {
    margin-top: 16px;
}

.mt-2 {
    margin-top: 28px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: var(--transition);
    white-space: nowrap;
}

.btn-primary {
    background: linear-gradient(135deg, var(--gold), #a87c3e);
    color: #0a0a0a;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(201, 169, 110, 0.4);
    color: #0a0a0a;
}

.btn-ghost {
    background: var(--border);
    color: var(--text);
    border: 1.5px solid var(--border2);
}

.btn-ghost:hover {
    background: var(--border2);
    color: var(--white);
}

.btn-white {
    background: var(--white);
    color: var(--bg);
}

.btn-white:hover {
    background: var(--gold2);
    color: var(--bg);
}

.btn-outline-white {
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: var(--white);
}

.btn-outline-white:hover {
    border-color: var(--white);
    background: rgba(255, 255, 255, 0.1);
}

.btn-full {
    width: 100%;
    justify-content: center;
    border-radius: var(--radius-sm);
}

.btn-sm {
    padding: 9px 20px;
    font-size: 0.82rem;
}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    width: 100%;
    max-width: 1200px;
    padding: 0 24px;
    transition: var(--transition);
}

.navbar.scrolled {
    top: 16px;
    max-width: 900px;
}

.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 28px;
    max-width: 1200px;
    margin: 0 auto;
    background: rgba(6, 8, 14, 0.5) !important;
    backdrop-filter: blur(32px) !important;
    -webkit-backdrop-filter: blur(32px) !important;
    border: 1.5px solid rgba(223, 179, 108, 0.15) !important;
    border-top: 1.8px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 36px 12px 36px 12px;
    transition: var(--transition);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 30px rgba(223, 179, 108, 0.05);
}

.navbar.scrolled .nav-inner {
    background: rgba(10, 12, 18, 0.6) !important;
    backdrop-filter: blur(28px) !important;
    border-color: rgba(201, 169, 110, 0.3) !important;
    border-top: 1.8px solid rgba(201, 169, 110, 0.6) !important;
    border-radius: 28px 8px 28px 8px;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.6), 0 0 30px rgba(201, 169, 110, 0.18);
    padding: 10px 24px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text);
}

.logo-mark {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--gold), #8a7019);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.1rem;
    color: #050505;
    box-shadow: 0 4px 15px var(--gold3);
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.logo-text {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--white);
}

.logo-the {
    font-weight: 700;
    color: var(--gold);
    margin-right: 4px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-links a {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--text2);
    letter-spacing: 0.04em;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    transition: var(--transition);
}

.nav-links a:hover {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.05);
    color: var(--white);
}

[data-theme="light"] .nav-links a:hover {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.05);
}

.nav-links a.active {
    background: rgba(201, 169, 110, 0.08);
    border-color: rgba(201, 169, 110, 0.2);
    color: var(--gold);
}

.nav-enquiry-btn,
.nav-links .nav-enquiry-btn,
.nav-links a.nav-enquiry-btn,
.nav-links a.nav-enquiry-btn.active,
.nav-links a.nav-enquiry-btn:hover {
    background: linear-gradient(135deg, var(--gold), #a87c3e) !important;
    color: #0a0a0a !important;
    padding: 8px 20px;
    border-radius: var(--radius-sm) !important;
    font-weight: 700 !important;
    border: 1.5px solid transparent !important;
}

.nav-enquiry-btn:hover {
    transform: translateY(-1.5px);
    box-shadow: 0 8px 25px rgba(201, 169, 110, 0.35);
}

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 4px;
    cursor: pointer;
}

.hamburger span {
    width: 24px;
    height: 2px;
    background: var(--text);
    border-radius: 2px;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* NAV ACTIONS & THEME TOGGLE */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.theme-toggle {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--border2);
    background: var(--bg2);
    color: var(--text);
    transition: var(--transition);
    cursor: pointer;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.theme-toggle:hover {
    border-color: var(--gold);
    color: var(--gold);
    box-shadow: 0 0 15px var(--gold3);
    transform: translateY(-2px);
}

.theme-toggle svg {
    position: absolute;
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.theme-toggle .sun-icon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.theme-toggle .moon-icon {
    opacity: 0;
    transform: rotate(-90deg) scale(0);
}

[data-theme="light"] .theme-toggle .sun-icon {
    opacity: 0;
    transform: rotate(90deg) scale(0);
}

[data-theme="light"] .theme-toggle .moon-icon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

[data-theme="light"] .logo-text {
    color: var(--text);
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: 180px 24px 80px 24px;
    max-width: 1280px;
    margin: 0 auto;
}

.hero-bg {
    position: fixed;
    inset: 0;
    z-index: -1;
}

.hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.25;
    animation: orbFloat 8s ease-in-out infinite;
}

.hero-orb-1 {
    width: 600px;
    height: 600px;
    top: -200px;
    right: -100px;
    background: radial-gradient(circle, var(--gold), transparent 70%);
}

.hero-orb-2 {
    width: 500px;
    height: 500px;
    bottom: -100px;
    left: -150px;
    background: radial-gradient(circle, var(--blue), transparent 70%);
    animation-delay: -4s;
}

@keyframes orbFloat {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(30px, -30px) scale(1.05);
    }
}

.hero-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(201, 169, 110, 0.04) 1.5px, transparent 1.5px);
    background-size: 40px 40px;
    mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%);
}

.hero-content {
    width: 100%;
    max-width: 820px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--gold3);
    border: 1px solid rgba(201, 169, 110, 0.3);
    color: var(--gold);
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.hero-title {
    margin-bottom: 24px;
}

.hero-sub {
    font-size: 1.1rem;
    color: var(--text2);
    max-width: 640px;
    margin: 0 auto 36px auto;
    line-height: 1.6;
}

.hero-cta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 60px;
}

.hero-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
}

.stat-div {
    width: 1px;
    height: 40px;
    background: var(--border2);
}

.stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-n {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--gold);
}

.stat-l {
    font-size: 0.78rem;
    color: var(--text3);
    letter-spacing: 0.05em;
}

.hero-visual {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1.45);
    width: 500px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1200px;
    z-index: 1;
    opacity: 0.22;
    pointer-events: none;
    filter: blur(1px);
}

.vortex-cyber-sculpture {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-style: preserve-3d;
    perspective: 1000px;
}

/* Central Core */
.vortex-core {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--gold) 0%, rgba(201, 169, 110, 0.2) 60%, transparent 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    box-shadow: 0 0 40px rgba(201, 169, 110, 0.4);
    animation: corePulse 4s ease-in-out infinite;
}

.core-glow {
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px dashed rgba(201, 169, 110, 0.3);
    animation: rotateClockwise 20s linear infinite;
}

.core-logo {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--white);
    text-shadow: 0 0 10px rgba(201, 169, 110, 0.8);
}

/* Rings */
.vortex-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(201, 169, 110, 0.15);
    transform-style: preserve-3d;
}

.ring-1 {
    width: 240px;
    height: 240px;
    transform: rotateX(70deg) rotateY(15deg);
    animation: rotateRing1 12s linear infinite;
}

.ring-2 {
    width: 320px;
    height: 320px;
    transform: rotateX(-60deg) rotateY(20deg);
    animation: rotateRing2 16s linear infinite;
}

.ring-3 {
    width: 400px;
    height: 400px;
    transform: rotateX(75deg) rotateY(-10deg);
    animation: rotateRing3 20s linear infinite;
}

/* Particles on Rings */
.vortex-particle {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 12px var(--gold);
}

.p1 {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.p2 {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.p3 {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.p4 {
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.p5 {
    top: 15%;
    left: 15%;
}

/* Floating Digital Badges */
.vortex-node {
    position: absolute;
    background: rgba(11, 15, 25, 0.75);
    border: 1px solid rgba(201, 169, 110, 0.25);
    border-radius: 50px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.vortex-node:hover {
    border-color: var(--gold);
    box-shadow: 0 10px 30px rgba(201, 169, 110, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transform: scale(1.05);
}

.node-dev {
    top: 15%;
    left: 5%;
    animation: floatNodeDev 6s ease-in-out infinite;
}

.node-seo {
    top: 50%;
    right: -5%;
    animation: floatNodeSeo 7s ease-in-out infinite;
}

.node-design {
    bottom: 12%;
    left: 20%;
    animation: floatNodeDesign 8s ease-in-out infinite;
}

/* Animations */
@keyframes corePulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 40px rgba(201, 169, 110, 0.4);
    }

    50% {
        transform: scale(1.05);
        box-shadow: 0 0 60px rgba(201, 169, 110, 0.6);
    }
}

@keyframes rotateClockwise {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotateRing1 {
    from {
        transform: rotateX(70deg) rotateY(15deg) rotateZ(0deg);
    }

    to {
        transform: rotateX(70deg) rotateY(15deg) rotateZ(360deg);
    }
}

@keyframes rotateRing2 {
    from {
        transform: rotateX(-60deg) rotateY(20deg) rotateZ(360deg);
    }

    to {
        transform: rotateX(-60deg) rotateY(20deg) rotateZ(0deg);
    }
}

@keyframes rotateRing3 {
    from {
        transform: rotateX(75deg) rotateY(-10deg) rotateZ(0deg);
    }

    to {
        transform: rotateX(75deg) rotateY(-10deg) rotateZ(360deg);
    }
}

@keyframes floatNodeDev {

    0%,
    100% {
        transform: translateY(0) translateZ(50px);
    }

    50% {
        transform: translateY(-12px) translateZ(50px);
    }
}

@keyframes floatNodeSeo {

    0%,
    100% {
        transform: translateY(0) translateZ(80px);
    }

    50% {
        transform: translateY(15px) translateZ(80px);
    }
}

@keyframes floatNodeDesign {

    0%,
    100% {
        transform: translateY(0) translateZ(60px);
    }

    50% {
        transform: translateY(-10px) translateZ(60px);
    }
}

/* Light Mode Overrides for Vortex Sculpture */
[data-theme="light"] .vortex-node {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(179, 143, 77, 0.2);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    color: var(--text);
}

[data-theme="light"] .vortex-core {
    background: radial-gradient(circle, var(--gold) 0%, rgba(179, 143, 77, 0.2) 60%, transparent 100%);
    box-shadow: 0 0 35px rgba(179, 143, 77, 0.3);
}

[data-theme="light"] .core-glow {
    border-color: rgba(179, 143, 77, 0.25);
}

[data-theme="light"] .vortex-ring {
    border-color: rgba(179, 143, 77, 0.12);
}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero {
    padding: 160px 0 100px;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.ph-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.ph-content {
    position: relative;
    z-index: 1;
}

.ph-content h1 {
    margin: 8px 0 16px;
}

.ph-content p {
    font-size: 1.1rem;
    color: var(--text2);
    max-width: 520px;
    margin: 0 auto;
}

/* ============================================================
   SERVICES
   ============================================================ */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 32px;
}

.service-card,
.plan-card,
.why-card,
.testi-card {
    position: relative;
    overflow: hidden;
}

.service-card::before,
.plan-card::before,
.why-card::before,
.testi-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: inherit;
    background: radial-gradient(800px circle at var(--x, 0) var(--y, 0), rgba(201, 169, 110, 0.12), transparent 40%);
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.service-card:hover::before,
.plan-card:hover::before,
.why-card:hover::before,
.testi-card:hover::before {
    opacity: 1;
}

.service-card {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 40px 32px;
    transition: var(--transition);
    box-shadow: var(--shadow);
}

.service-card:hover {
    border-color: var(--gold) !important;
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(201, 169, 110, 0.15), var(--shadow-gold);
}

.service-card.featured {
    border-color: rgba(201, 169, 110, 0.4);
    background: linear-gradient(135deg, var(--card), var(--bg3));
}

.sc-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    background: var(--gold3);
    color: var(--gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(201, 169, 110, 0.3);
}

.sc-icon {
    width: 64px;
    height: 64px;
    color: var(--gold);
    margin-bottom: 24px;
    background: var(--gold3);
    padding: 14px;
    border-radius: 16px 4px 16px 4px;
    border: 1px solid rgba(201, 169, 110, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.service-card h3 {
    margin-bottom: 12px;
    color: var(--white);
    font-size: 1.4rem;
}

.service-card p {
    font-size: 0.92rem;
    margin-bottom: 20px;
    color: var(--text2);
}

.service-cat-desc {
    font-size: 0.92rem;
    color: var(--text3) !important;
    margin-bottom: 16px;
}

.sub-services-list {
    margin: 28px 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 0;
}

.sub-services-list li {
    position: relative;
    padding-left: 28px;
    list-style: none;
}

.sub-services-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--gold);
    font-weight: bold;
    font-size: 0.95rem;
}

.sub-services-list li strong {
    display: block;
    font-size: 0.98rem;
    color: var(--white);
    margin-bottom: 3px;
}

.sub-services-list li span {
    display: block;
    font-size: 0.88rem;
    color: var(--text2);
    line-height: 1.5;
}

.sc-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--gold);
    letter-spacing: 0.02em;
}

.sc-link:hover {
    color: var(--gold2);
}

/* VISIBILITY PRO-PLAN TABLE */
.pro-plan-table-wrapper {
    overflow-x: auto;
    background: var(--card);
    border: 1.5px solid var(--border2);
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: var(--shadow);
}

.pro-plan-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.pro-plan-table th,
.pro-plan-table td {
    padding: 20px 24px;
    border-bottom: 1.5px solid var(--border);
}

.pro-plan-table th {
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pro-plan-table tbody tr:last-child td {
    border-bottom: none;
}

.step-num span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--gold3);
    color: var(--gold);
    font-weight: 700;
    font-size: 0.9rem;
}

.step-action strong {
    font-size: 1.05rem;
    color: var(--white);
    display: block;
    margin-bottom: 4px;
}

.step-action p {
    font-size: 0.9rem;
    color: var(--text2);
}

.step-why p {
    font-size: 0.92rem;
    color: var(--text2);
    line-height: 1.5;
}

.step-why em {
    color: var(--gold);
    font-style: normal;
    font-weight: 600;
}

/* ============================================================
   WHY US
   ============================================================ */
.why {
    background: var(--bg2);
}

.why-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.why-text h2 {
    margin: 8px 0 16px;
}

.why-text>p {
    margin-bottom: 28px;
}

.why-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 36px;
}

.why-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.93rem;
    color: var(--text);
}

.check {
    color: var(--gold);
    font-size: 1rem;
}

.why-visual {
    position: relative;
    height: 360px;
}

.why-card {
    position: absolute;
    background: var(--card2);
    border: 1px solid var(--border2);
    border-radius: var(--radius);
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-shadow: var(--shadow);
}

.wc1 {
    top: 0;
    left: 0;
}

.wc2 {
    top: 90px;
    right: 0;
}

.wc3 {
    bottom: 0;
    left: 40px;
}

.wc-num {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--gold);
}

.wc-lbl {
    font-size: 0.82rem;
    color: var(--text2);
}

.why-glow {
    position: absolute;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(201, 169, 110, 0.2), transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.testi-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px;
    transition: var(--transition);
}

.testi-card:hover {
    border-color: var(--gold) !important;
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(201, 169, 110, 0.1), var(--shadow-gold);
}

.testi-stars {
    color: var(--gold);
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.testi-card p {
    font-size: 0.95rem;
    color: var(--text);
    margin-bottom: 24px;
    font-style: italic;
}

.testi-author {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ta-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), #8b6914);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0a0a0a;
    flex-shrink: 0;
}

.testi-author b {
    display: block;
    color: var(--white);
    font-size: 0.92rem;
}

.testi-author span {
    font-size: 0.78rem;
    color: var(--text3);
}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner {
    background: linear-gradient(135deg, #1a1500 0%, #0f0d1a 50%, #0a1520 100%);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 80px 0;
    text-align: center;
}

.cta-banner h2 {
    margin-bottom: 12px;
}

.cta-banner p {
    color: var(--text2);
    margin-bottom: 36px;
    font-size: 1.05rem;
}

.cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    background: var(--bg2);
    padding: 70px 0 0;
    border-top: 1px solid var(--border);
}

.footer-inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 48px;
    padding-bottom: 60px;
}

.footer-brand .logo {
    margin-bottom: 12px;
}

.footer-brand p {
    font-size: 0.88rem;
    color: var(--text3);
}

.footer-links h4,
.footer-contact h4 {
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text3);
    margin-bottom: 18px;
}

.footer-links ul li {
    margin-bottom: 10px;
}

.footer-links ul li a {
    font-size: 0.88rem;
    color: var(--text2);
}

.footer-links ul li a:hover {
    color: var(--gold);
}

.footer-contact p {
    font-size: 0.88rem;
    color: var(--text2);
    margin-bottom: 8px;
}

.footer-bottom {
    border-top: 1px solid var(--border);
    padding: 20px 40px;
    text-align: center;
}

.footer-bottom p {
    font-size: 0.8rem;
    color: var(--text3);
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.mission-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

.mission-quote {
    background: var(--card);
    border-left: 3px solid var(--gold);
    border-radius: 0 var(--radius) var(--radius) 0;
    padding: 40px;
    position: sticky;
    top: 100px;
}

.mission-quote blockquote {
    font-family: var(--font-display);
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--white);
    font-style: italic;
    margin-bottom: 16px;
}

.mission-quote cite {
    font-size: 0.85rem;
    color: var(--gold);
}

.mission-text .eyebrow {
    margin-bottom: 8px;
}

.mission-text h2 {
    margin-bottom: 20px;
}

.mission-text p {
    margin-bottom: 16px;
    font-size: 0.97rem;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

.value-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 36px 30px;
    transition: var(--transition);
}

.value-card:hover {
    border-color: rgba(201, 169, 110, 0.3);
    transform: translateY(-3px);
}

.vc-num {
    font-family: var(--font-display);
    font-size: 2.5rem;
    color: var(--gold);
    opacity: 0.4;
    margin-bottom: 12px;
}

.value-card h3 {
    color: var(--white);
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

.team-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px;
    text-align: center;
    transition: var(--transition);
}

.team-card:hover {
    border-color: rgba(201, 169, 110, 0.3);
    transform: translateY(-3px);
}

.tc-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    margin: 0 auto 16px;
}

.team-card h3 {
    color: var(--white);
    margin-bottom: 4px;
    font-size: 1.1rem;
}

.tc-role {
    font-size: 0.8rem;
    color: var(--gold);
    font-weight: 600;
    margin-bottom: 12px;
}

.tc-bio {
    font-size: 0.85rem;
    color: var(--text2);
}

/* TIMELINE */
.timeline {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--border2);
    transform: translateX(-50%);
}

.tl-item {
    display: flex;
    justify-content: flex-end;
    padding-right: calc(50% + 32px);
    margin-bottom: 40px;
    position: relative;
}

.tl-item.tl-right {
    justify-content: flex-start;
    padding-right: 0;
    padding-left: calc(50% + 32px);
}

.tl-dot {
    position: absolute;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--gold);
    border: 2px solid var(--bg);
    z-index: 1;
}

.tl-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 24px;
    max-width: 320px;
}

.tl-year {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--gold);
    display: block;
    margin-bottom: 4px;
}

.tl-card h4 {
    color: var(--white);
    margin-bottom: 8px;
    font-size: 1rem;
}

.tl-card p {
    font-size: 0.88rem;
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ccard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.ccard {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px 24px;
    text-align: center;
    transition: var(--transition);
}

.ccard:hover,
.ccard.featured {
    border-color: rgba(201, 169, 110, 0.35);
    transform: translateY(-3px);
}

.ccard.featured {
    background: linear-gradient(135deg, var(--card), #1c1a10);
}

.ccard-icon {
    font-size: 2rem;
    margin-bottom: 12px;
}

.ccard h3 {
    color: var(--white);
    margin-bottom: 6px;
    font-size: 1.1rem;
}

.ccard>p {
    font-size: 0.85rem;
    margin-bottom: 12px;
}

.ccard-val {
    display: block;
    font-weight: 600;
    color: var(--gold);
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.ccard-val:hover {
    color: var(--gold2);
}

.ccard-note {
    font-size: 0.78rem;
    color: var(--text3);
}

.contact-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.contact-form-wrap h2 {
    margin-bottom: 8px;
}

.contact-form-wrap>p {
    color: var(--text2);
    margin-bottom: 32px;
    font-size: 0.95rem;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text2);
    letter-spacing: 0.04em;
}

.form-success {
    display: none;
    background: rgba(74, 200, 100, 0.12);
    border: 1px solid rgba(74, 200, 100, 0.3);
    color: #4ac864;
    border-radius: var(--radius-sm);
    padding: 14px;
    font-size: 0.9rem;
}

.info-box {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px;
    margin-bottom: 20px;
}

.info-box h3 {
    color: var(--white);
    margin-bottom: 20px;
    font-size: 1.05rem;
}

.office-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
}

.office-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.office-item h4 {
    color: var(--white);
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.office-item p {
    font-size: 0.85rem;
    color: var(--text2);
    margin-bottom: 4px;
}

.hours-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hour-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.88rem;
    color: var(--text2);
}

.hour-row.live {
    color: var(--gold);
    font-weight: 600;
}

.contact-quick a {
    display: block;
    color: var(--gold);
    font-size: 0.95rem;
    font-weight: 600;
    margin-top: 8px;
}

/* FAQ */
.faq-list {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.faq-q {
    width: 100%;
    text-align: left;
    padding: 22px 24px;
    font-size: 0.97rem;
    font-weight: 500;
    color: var(--text);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
}

.faq-q:hover {
    color: var(--gold);
}

.faq-q span {
    font-size: 1.3rem;
    transition: var(--transition);
}

.faq-item.open .faq-q span {
    transform: rotate(45deg);
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.faq-a p {
    padding: 0 24px 22px;
    font-size: 0.92rem;
}

.faq-item.open .faq-a {
    max-height: 200px;
}

/* ============================================================
   ENQUIRY PAGE
   ============================================================ */
.enquiry-wrap {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 48px;
    align-items: start;
}

.enq-form {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 40px;
}

.enq-form h2 {
    margin-bottom: 32px;
}

.enq-step {
    display: none;
    flex-direction: column;
    gap: 20px;
}

.enq-step.active {
    display: flex;
}

.step-header {
    margin-bottom: 8px;
}

.step-badge {
    display: inline-block;
    background: var(--gold3);
    color: var(--gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(201, 169, 110, 0.3);
    margin-bottom: 8px;
}

.step-header h3 {
    color: var(--white);
    font-size: 1.2rem;
}

.service-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pill {
    padding: 9px 18px;
    border-radius: 50px;
    border: 1.5px solid var(--border2);
    font-size: 0.85rem;
    color: var(--text2);
    transition: var(--transition);
    cursor: pointer;
}

.pill:hover,
.pill.selected {
    border-color: var(--gold);
    color: var(--gold);
    background: var(--gold3);
}

.form-nav {
    display: flex;
    gap: 16px;
    align-items: center;
}

.checkbox-group label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.checkbox-group input {
    width: auto;
    margin-top: 3px;
    accent-color: var(--gold);
}

.checkbox-group span {
    font-size: 0.85rem;
    color: var(--text2);
}

.checkbox-group a {
    color: var(--gold);
}

.enq-success-msg {
    text-align: center;
    padding: 40px;
}

.success-icon {
    font-size: 3rem;
    margin-bottom: 16px;
}

.enq-success-msg h3 {
    color: var(--white);
    margin-bottom: 12px;
}

.enq-info-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px;
    margin-bottom: 20px;
}

.enq-info-card h3 {
    color: var(--white);
    font-size: 1rem;
    margin-bottom: 16px;
}

.enq-benefits {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.enq-benefits li {
    font-size: 0.88rem;
    color: var(--text2);
}

.enq-steps-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 0;
    list-style: none;
}

.enq-steps-info li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.88rem;
    color: var(--text2);
}

.enq-steps-info span {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--gold3);
    color: var(--gold);
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-quick p {
    font-size: 0.9rem;
    color: var(--text2);
    margin-bottom: 8px;
}

.contact-quick a {
    color: var(--gold);
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

/* ============================================================
   CHAT PAGE
   ============================================================ */
.chat-page-section {
    padding: 100px 0 60px;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
}

.chat-page-inner {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 28px;
    align-items: start;
}

.chat-sidebar {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.chat-agent-info {
    padding: 32px 24px;
    text-align: center;
    border-bottom: 1px solid var(--border);
}

.agent-avatar-lg {
    position: relative;
    display: inline-block;
    margin-bottom: 16px;
}

.agent-av-inner {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), #8b6914);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
    color: #0a0a0a;
}

.agent-status-dot {
    position: absolute;
    bottom: 3px;
    right: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    border: 2px solid var(--card);
}

.chat-agent-info h3 {
    color: var(--white);
    margin-bottom: 4px;
}

.chat-agent-info p {
    font-size: 0.82rem;
    margin-bottom: 10px;
}

.online-badge {
    display: inline-block;
    background: rgba(34, 197, 94, 0.12);
    color: #22c55e;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.chat-quick-links {
    padding: 20px 16px;
    border-bottom: 1px solid var(--border);
}

.ql-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text3);
    margin-bottom: 10px;
}

.ql-btn {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: var(--text2);
    margin-bottom: 6px;
    border: 1px solid transparent;
    transition: var(--transition);
}

.ql-btn:hover {
    background: var(--card2);
    border-color: var(--border);
    color: var(--text);
}

.chat-contact-alt {
    padding: 20px 16px;
}

.chat-contact-alt p {
    font-size: 0.78rem;
    color: var(--text3);
    margin-bottom: 8px;
}

.chat-contact-alt a {
    display: block;
    font-size: 0.85rem;
    color: var(--gold);
    margin-bottom: 6px;
}

.chat-window {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    height: 640px;
    overflow: hidden;
}

.chat-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--card2);
}

.ch-agent {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ch-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), #8b6914);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0a0a0a;
}

.ch-agent b {
    display: block;
    color: var(--white);
    font-size: 0.9rem;
}

.ch-status {
    font-size: 0.75rem;
    color: #22c55e;
}

.ch-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--bg3);
    color: var(--text2);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}

.ch-btn:hover {
    background: var(--border2);
}

.prechat-form {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.prechat-inner {
    width: 100%;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.prechat-inner h3 {
    color: var(--white);
    margin-bottom: -4px;
}

.prechat-inner>p {
    font-size: 0.88rem;
}

.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.chat-msg {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.chat-msg.user {
    align-items: flex-end;
}

.chat-msg.agent {
    align-items: flex-start;
}

.msg-bubble {
    max-width: 75%;
    padding: 12px 16px;
    border-radius: 18px;
    font-size: 0.9rem;
    line-height: 1.5;
}

.chat-msg.user .msg-bubble {
    background: linear-gradient(135deg, var(--gold), #a87c3e);
    color: #0a0a0a;
    border-radius: 18px 18px 4px 18px;
}

.chat-msg.agent .msg-bubble {
    background: var(--card2);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 18px 18px 18px 4px;
}

.msg-time {
    font-size: 0.7rem;
    color: var(--text3);
}

.typing-indicator .msg-bubble {
    display: flex;
    gap: 4px;
    align-items: center;
    padding: 14px 20px;
}

.typing-indicator .msg-bubble span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--text3);
    animation: blink 1.4s infinite;
}

.typing-indicator .msg-bubble span:nth-child(2) {
    animation-delay: 0.2s;
}

.typing-indicator .msg-bubble span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes blink {

    0%,
    60%,
    100% {
        opacity: 0.3
    }

    30% {
        opacity: 1
    }
}

.chat-input-bar {
    padding: 14px 16px;
    border-top: 1px solid var(--border);
    display: flex;
    gap: 10px;
    align-items: center;
    background: var(--card2);
}

.chat-input-bar input {
    border-radius: 50px;
    padding: 11px 18px;
}

.send-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--gold), #a87c3e);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.send-btn svg {
    width: 18px;
    height: 18px;
    color: #0a0a0a;
}

/* ============================================================
   ADMIN LOGIN
   ============================================================ */
.admin-login-page {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.alp-brand {
    background: linear-gradient(135deg, #0e0c05 0%, #1a1500 50%, #0a1520 100%);
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid var(--border);
}

[data-theme="light"] .alp-brand {
    background: linear-gradient(135deg, #fafafa 0%, #ffffff 50%, #f5f7f2 100%);
}

.alp-brand-content h2 {
    color: var(--white);
    margin: 40px 0 12px;
}

.alp-brand-content p {
    font-size: 1rem;
    color: var(--text2);
    margin-bottom: 32px;
}

.alp-features {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.alp-f {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    color: var(--text2);
}

.alp-f span {
    font-size: 1.1rem;
}

.alp-back a {
    font-size: 0.85rem;
    color: var(--text3);
}

.alp-back a:hover {
    color: var(--gold);
}

.alp-form-col {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.alp-form-card {
    width: 100%;
    max-width: 440px;
}

.alp-form-header {
    margin-bottom: 36px;
}

.alp-form-header h2 {
    color: var(--white);
    margin-bottom: 6px;
}

.alp-form-header p {
    color: var(--text2);
}

.admin-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pw-wrap {
    position: relative;
}

.pw-wrap input {
    padding-right: 48px;
}

.pw-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    color: var(--text3);
}

.form-row-sm {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.forgot-link {
    font-size: 0.82rem;
    color: var(--gold);
}

.login-error {
    display: none;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
    border-radius: var(--radius-sm);
    padding: 12px;
    font-size: 0.85rem;
}

.login-hint {
    font-size: 0.78rem;
    color: var(--text3);
    text-align: center;
    margin-top: 12px;
}

/* ============================================================
   ADMIN DASHBOARD
   ============================================================ */
/* ============================================================
   ADMIN DASHBOARD OVERHAUL
   ============================================================ */
.admin-layout {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    width: 240px;
    flex-shrink: 0;
    background: rgba(6, 8, 14, 0.6) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border-right: 1px solid var(--border) !important;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
    transition: var(--transition);
}

.admin-sidebar.collapsed {
    transform: translateX(-240px);
}

.asb-top {
    padding: 24px 20px;
    border-bottom: 1px solid var(--border);
}

.asb-label {
    font-size: 0.7rem;
    color: var(--text3);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: block;
    margin-top: 6px;
}

.asb-nav {
    flex: 1;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.asb-item {
    width: 100%;
    text-align: left;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    font-size: 0.88rem;
    color: var(--text2);
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition);
    position: relative;
    border: 1px solid transparent;
}

.asb-item:hover {
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
    border-color: rgba(255, 255, 255, 0.05);
}

.asb-item.active {
    background: var(--gold3) !important;
    color: var(--gold) !important;
    border: 1px solid rgba(223, 183, 108, 0.25) !important;
    box-shadow: 0 0 15px rgba(223, 183, 108, 0.05);
}

.asb-icon {
    width: 20px;
    text-align: center;
}

.asb-badge {
    margin-left: auto;
    background: #ef4444;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 50px;
}

.asb-bottom {
    padding: 16px 12px;
    border-top: 1px solid var(--border);
}

.asb-link {
    display: block;
    font-size: 0.82rem;
    color: var(--text3);
    margin-bottom: 10px;
    padding: 8px 14px;
}

.asb-link:hover {
    color: var(--gold);
}

.asb-logout {
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: #ef4444;
    transition: var(--transition);
}

.asb-logout:hover {
    background: rgba(239, 68, 68, 0.1);
}

.admin-main {
    flex: 1;
    margin-left: 240px;
    min-height: 100vh;
    transition: var(--transition);
}

.admin-sidebar.collapsed+.admin-main {
    margin-left: 0;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(6, 8, 14, 0.5) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 14px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.sidebar-toggle {
    font-size: 1.1rem;
    color: var(--text2);
}

.sidebar-toggle:hover {
    color: var(--text);
}

.atb-title {
    flex: 1;
    font-weight: 600;
    color: var(--white);
    font-size: 1rem;
}

.atb-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.atb-time {
    font-size: 0.82rem;
    color: var(--text3);
}

.atb-user {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: var(--text2);
}

.atb-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), #8b6914);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: #0a0a0a;
}

.admin-page {
    display: none;
    padding: 32px 28px;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.admin-page.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.ap-header {
    margin-bottom: 32px;
}

.ap-header h2 {
    color: var(--white);
    margin-bottom: 4px;
}

.ap-header p {
    color: var(--text2);
    font-size: 0.9rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 28px;
}

.stat-card {
    background: rgba(11, 16, 27, 0.35) !important;
    backdrop-filter: blur(16px) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius);
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.stat-card:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: var(--shadow);
}

.sc-icon-bg {
    font-size: 1.8rem;
}

.sc-big {
    display: block;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 600;
    color: var(--white);
}

.sc-lbl {
    font-size: 0.8rem;
    color: var(--text3);
}

.sc-blue {
    border-color: rgba(74, 127, 255, 0.25) !important;
}

.sc-blue:hover {
    border-color: #4a7fff !important;
    box-shadow: 0 0 25px rgba(74, 127, 255, 0.15) !important;
}

.sc-gold {
    border-color: rgba(223, 183, 108, 0.25) !important;
}

.sc-gold:hover {
    border-color: var(--gold) !important;
    box-shadow: 0 0 25px rgba(223, 183, 108, 0.15) !important;
}

.sc-green {
    border-color: rgba(34, 197, 94, 0.25) !important;
}

.sc-green:hover {
    border-color: #22c55e !important;
    box-shadow: 0 0 25px rgba(34, 197, 94, 0.15) !important;
}

.sc-red {
    border-color: rgba(239, 68, 68, 0.25) !important;
}

.sc-red:hover {
    border-color: #ef4444 !important;
    box-shadow: 0 0 25px rgba(239, 68, 68, 0.15) !important;
}

.admin-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.admin-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
}

.admin-card h3 {
    color: var(--white);
    font-size: 1rem;
    margin-bottom: 20px;
}

.mini-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.mini-table th {
    color: var(--text3);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0 0 12px;
    text-align: left;
}

.mini-table td {
    padding: 10px 0;
    border-top: 1px solid var(--border);
    color: var(--text2);
}

.badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 50px;
}

.badge-new {
    background: rgba(74, 127, 255, 0.15);
    color: #4a7fff;
    border: 1px solid rgba(74, 127, 255, 0.3);
}

.badge-pending {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.badge-resolved {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.chat-sessions {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cs-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.cs-item:hover {
    border-color: var(--border2);
}

.cs-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), #8b6914);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0a0a0a;
    flex-shrink: 0;
}

.cs-info {
    flex: 1;
}

.cs-info b {
    display: block;
    font-size: 0.88rem;
    color: var(--white);
}

.cs-info p {
    font-size: 0.78rem;
    color: var(--text3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.cs-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.cs-time {
    font-size: 0.72rem;
    color: var(--text3);
}

.cs-join {
    background: var(--gold3);
    color: var(--gold);
    border: 1px solid rgba(201, 169, 110, 0.3);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 50px;
    transition: var(--transition);
}

.cs-join:hover {
    background: var(--gold);
    color: #0a0a0a;
}

/* ADMIN CHAT */
.admin-chat-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 20px;
}

.acl-sessions {
    background: var(--bg3);
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid var(--border);
}

.acl-header {
    padding: 14px 16px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text3);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border);
}

.acl-session-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: var(--transition);
    border-bottom: 1px solid var(--border);
}

.acl-session-item:hover {
    background: var(--card);
}

.acl-session-item.active {
    background: var(--card2);
    border-left: 3px solid var(--gold);
}

.acl-session-item b {
    display: block;
    font-size: 0.88rem;
    color: var(--white);
}

.acl-session-item small {
    font-size: 0.75rem;
    color: var(--text3);
}

.acl-chat-win {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    height: 560px;
}

.acl-cw-header {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.acl-cw-header b {
    color: var(--white);
    font-size: 0.92rem;
}

.acl-cw-header small {
    color: var(--text3);
}

.acl-messages {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.acl-input {
    border-top: 1px solid var(--border);
}

.acl-quick-replies {
    padding: 10px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid var(--border);
}

.acl-quick-replies button {
    font-size: 0.75rem;
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid var(--border2);
    color: var(--text2);
    transition: var(--transition);
}

.acl-quick-replies button:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.acl-input-row {
    padding: 10px 12px;
    display: flex;
    gap: 8px;
}

/* ENQUIRY TABLE */
.enq-toolbar {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.enq-search {
    flex: 1;
}

.enq-filter {
    width: 160px;
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.enq-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    min-width: 700px;
}

.enq-table th {
    color: var(--text3);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0 12px 14px 0;
    text-align: left;
}

.enq-table td {
    padding: 12px 12px 12px 0;
    border-top: 1px solid var(--border);
    color: var(--text2);
}

.btn-action {
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--border2);
    color: var(--text2);
    transition: var(--transition);
}

.btn-action:hover {
    border-color: var(--gold);
    color: var(--gold);
}

/* MANAGE */
.team-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tm-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tm-av {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
}

.tm-item b {
    display: block;
    font-size: 0.88rem;
    color: var(--white);
}

.tm-item small {
    font-size: 0.75rem;
    color: var(--text3);
}

.tm-item .badge {
    margin-left: auto;
}

.settings-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.setting-item label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text3);
    margin-bottom: 5px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.stats-simple {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ss-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.88rem;
}

.ss-item span {
    color: var(--text2);
}

.ss-item b {
    color: var(--gold);
}

.activity-log {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.al-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.85rem;
}

.al-item span {
    color: var(--text2);
    flex: 1;
}

.al-item small {
    color: var(--text3);
    font-size: 0.75rem;
    white-space: nowrap;
}

/* MODAL */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    backdrop-filter: blur(4px);
}

.modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}

.modal-box {
    background: var(--card2);
    border: 1px solid var(--border2);
    border-radius: var(--radius);
    padding: 32px;
    width: 90%;
    max-width: 520px;
    position: relative;
}

.modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    font-size: 1rem;
    color: var(--text3);
}

.modal-box h3 {
    color: var(--white);
    margin-bottom: 20px;
}

.modal-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.modal-detail-grid label,
.modal-box label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.modal-detail-grid p,
.modal-box>div>p {
    font-size: 0.9rem;
    color: var(--text);
}

.modal-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.modal-actions select {
    width: auto;
}

/* ============================================================
   SCROLL ANIMATIONS
   ============================================================ */
[data-aos] {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(48px) scale(0.96) rotateX(4deg);
    transform-origin: top center;
    perspective: 1000px;
    transition: opacity 0.95s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.95s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

[data-aos].visible {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1) rotateX(0);
}

/* ============================================================
   INTERACTIVE PLANS & PRICING
   ============================================================ */
.plans-toggle-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
}

.toggle-label {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text2);
    cursor: pointer;
    transition: var(--transition);
}

.toggle-label:hover {
    color: var(--white);
}

[data-theme="light"] .toggle-label:hover {
    color: #0c0a09;
}

.toggle-label.active {
    color: var(--gold);
    font-weight: 600;
}

.toggle-switch-wrapper {
    display: inline-block;
}

.toggle-switch {
    position: relative;
    width: 60px;
    height: 32px;
    background: var(--bg3);
    border: 1.5px solid var(--border2);
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
}

.toggle-switch:hover {
    border-color: var(--gold);
    box-shadow: 0 0 15px rgba(201, 169, 110, 0.25);
}

.toggle-switch::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 23px;
    height: 23px;
    background: var(--gold);
    border-radius: 50%;
    transition: var(--transition);
}

.toggle-switch.active::after {
    left: 31px;
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
}

.plans-container {
    display: none;
}

.plans-container.active {
    display: grid;
    animation: fadeIn 0.5s ease forwards;
}

.plan-card {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 44px 36px;
    display: flex;
    flex-direction: column;
    transition: var(--transition);
    position: relative;
}

.plan-card:hover {
    border-color: var(--gold) !important;
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(201, 169, 110, 0.15), var(--shadow-gold);
}

.plan-card.featured {
    border-color: var(--gold);
    background: linear-gradient(135deg, var(--card), var(--bg3));
    box-shadow: var(--shadow-gold);
}

.plan-badge,
.sc-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    background: var(--gold);
    color: #0a0a0a;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    border-radius: 50px;
    z-index: 10;
}

.plan-header h3 {
    font-size: 1.6rem;
    color: var(--white);
    margin-bottom: 8px;
}

.plan-desc {
    font-size: 0.92rem;
    color: var(--text2);
    margin-bottom: 24px;
    min-height: 48px;
}

.plan-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--border);
    padding-bottom: 24px;
}

.plan-price .currency {
    font-size: 1.4rem;
    font-family: var(--font-display);
    color: var(--gold);
    font-weight: 600;
}

.plan-price .amount {
    font-size: 3rem;
    font-family: var(--font-display);
    color: var(--white);
    font-weight: 700;
    line-height: 1;
}

.plan-price .period {
    font-size: 0.9rem;
    color: var(--text3);
    margin-left: 4px;
}

.plan-features {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px;
    flex-grow: 1;
}

.plan-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.93rem;
    color: var(--text);
}

.plan-features .feat-check {
    color: var(--gold);
    font-size: 1rem;
    font-weight: bold;
}

/* ============================================================
   INTERACTIVE SPEED CALCULATOR
   ============================================================ */
.calculator-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 48px;
    align-items: stretch;
}

.calc-box {
    background: var(--card2);
    border: 1.5px solid var(--border2);
    border-radius: var(--radius);
    padding: 48px;
    box-shadow: var(--shadow);
}

.calc-group {
    margin-bottom: 36px;
}

.calc-group:last-child {
    margin-bottom: 0;
}

.calc-group label {
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 16px;
}

.calc-group label span {
    color: var(--gold);
    font-family: var(--font-display);
    font-size: 1.2rem;
}

.slider-input {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: var(--bg3);
    border-radius: 5px;
    outline: none;
    border: none;
    padding: 0;
}

.slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--gold);
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 0 10px rgba(201, 169, 110, 0.5);
}

.slider-input::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.calc-result-panel {
    background: linear-gradient(135deg, var(--gold3), rgba(20, 24, 41, 0.8));
    border: 1.5px solid rgba(201, 169, 110, 0.25);
    border-radius: var(--radius);
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.calc-result-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(201, 169, 110, 0.1), transparent 60%);
    pointer-events: none;
}

.res-label {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text2);
    margin-bottom: 12px;
}

.res-speed {
    font-family: var(--font-display);
    font-size: 4rem;
    font-weight: 700;
    color: var(--gold);
    line-height: 1.1;
    margin-bottom: 16px;
}

.res-speed span {
    font-size: 1.5rem;
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--white);
}

.res-plan-box {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 20px;
    margin-bottom: 32px;
}

.res-plan-name {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 4px;
}

.res-plan-price {
    font-size: 0.95rem;
    color: var(--text2);
}

.res-plan-price em {
    color: var(--gold);
    font-weight: 600;
    font-style: normal;
}

/* ============================================================
   ADVANCED TECHNOLOGY BACKBONE
   ============================================================ */
.backbone-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
}

.backbone-card {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 40px 32px;
    transition: var(--transition);
}

.backbone-card:hover {
    border-color: rgba(74, 127, 255, 0.3);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(74, 127, 255, 0.1);
}

.backbone-icon {
    width: 48px;
    height: 48px;
    color: var(--blue);
    margin-bottom: 24px;
}

.backbone-card h3 {
    margin-bottom: 12px;
    color: var(--white);
}

.backbone-card p {
    font-size: 0.92rem;
    color: var(--text2);
}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.process-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    position: relative;
}

.process-card {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 40px 32px;
    position: relative;
    transition: var(--transition);
}

.process-card:hover {
    border-color: rgba(201, 169, 110, 0.3);
    transform: translateY(-4px);
}

.proc-num {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 700;
    color: var(--gold3);
    line-height: 1;
    margin-bottom: 20px;
    transition: var(--transition);
}

.process-card:hover .proc-num {
    color: var(--gold);
}

.process-card h3 {
    color: var(--white);
    margin-bottom: 12px;
}

.process-card p {
    font-size: 0.92rem;
    color: var(--text2);
}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.newsletter-card {
    background: linear-gradient(135deg, var(--card), var(--card2));
    border: 1.5px solid var(--border2);
    border-radius: var(--radius);
    padding: 60px 48px;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.newsletter-card::before {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(201, 169, 110, 0.08), transparent 70%);
    top: -150px;
    left: -150px;
    border-radius: 50%;
}

.newsletter-card h2 {
    margin-bottom: 12px;
}

.newsletter-card p {
    max-width: 520px;
    margin: 0 auto 36px;
}

.newsletter-form {
    display: flex;
    gap: 16px;
    max-width: 580px;
    margin: 0 auto;
}

.newsletter-form input {
    flex-grow: 1;
    border-radius: 50px;
    padding: 14px 24px;
}

.newsletter-form .btn {
    padding: 14px 36px;
}

.newsletter-success {
    display: none;
    color: #22c55e;
    font-weight: 600;
    margin-top: 16px;
    font-size: 0.95rem;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .why-inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .why-visual {
        height: 240px;
    }

    .mission-inner {
        grid-template-columns: 1fr;
    }

    .mission-quote {
        position: static;
    }

    .footer-inner {
        grid-template-columns: 1fr 1fr;
    }

    .enquiry-wrap {
        grid-template-columns: 1fr;
    }

    .enq-info-col {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .contact-split {
        grid-template-columns: 1fr;
    }

    .admin-main {
        margin-left: 0;
    }

    .admin-sidebar {
        transform: translateX(-240px);
    }

    .admin-sidebar.open {
        transform: translateX(0);
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .admin-grid-2 {
        grid-template-columns: 1fr;
    }

    .admin-chat-layout {
        grid-template-columns: 1fr;
    }

    .acl-chat-win {
        height: 400px;
    }

    .admin-login-page {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .alp-brand {
        padding: 40px 24px 20px;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .alp-form-col {
        padding: 30px 24px 60px;
    }

    /* Admin Dashboard Mobile Fixes */
    .admin-layout {
        flex-direction: column;
    }

    .admin-sidebar {
        position: relative;
        width: 100%;
        height: auto;
        flex-direction: row;
        flex-wrap: wrap;
        border-right: none;
        border-bottom: 1px solid var(--border);
        z-index: 10;
        transform: none !important;
    }

    .asb-top {
        width: 100%;
        border-bottom: 1px solid var(--border);
    }

    .asb-nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 10px;
        white-space: nowrap;
        width: 100%;
        gap: 8px;
    }

    .asb-item {
        width: auto;
        padding: 8px 12px;
    }

    .asb-bottom {
        display: none;
    }

    .admin-main {
        margin-left: 0;
        width: 100%;
    }

    .admin-topbar {
        padding: 12px 20px;
    }

    .admin-content {
        padding: 20px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .dash-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .navbar {
        top: 10px;
        padding: 0 16px;
        left: 50%;
        transform: translateX(-50%);
        max-width: 100%;
    }

    .nav-inner {
        position: relative;
        padding: 10px 18px;
        border-radius: 40px;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        height: auto;
        padding: 40px 24px;
        background: var(--card);
        border: 1.5px solid var(--border2);
        border-radius: 24px;
        flex-direction: column;
        align-items: center;
        gap: 24px;
        font-size: 1.15rem;
        box-shadow: var(--shadow);
        z-index: 999;
    }

    .nav-links.open {
        display: flex;
    }

    .nav-links a {
        color: var(--white);
        font-weight: 600;
    }

    .hamburger {
        display: flex;
    }

    .hamburger.open span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .hamburger.open span:nth-child(2) {
        opacity: 0;
        transform: scale(0);
    }

    .hamburger.open span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    .hero {
        flex-direction: column;
        padding: 140px 20px 60px;
    }

    .hero-visual {
        position: absolute;
        left: 50%;
        top: 45%;
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0.15;
        display: flex;
    }

    .hero-cta {
        flex-direction: column;
        width: 100%;
    }

    .hero-stats {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .section {
        padding: 70px 0;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .chat-page-inner {
        grid-template-columns: 1fr;
    }

    .chat-sidebar {
        display: none;
    }

    .timeline::before {
        left: 20px;
    }

    .tl-item,
    .tl-item.tl-right {
        padding: 0 0 0 52px;
        justify-content: flex-start;
    }

    .tl-dot {
        left: 20px;
    }

    .footer-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .ccard-grid {
        grid-template-columns: 1fr;
    }

    .enq-info-col {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* FORCE SINGLE COLUMN FOR ALL GRIDS ON MOBILE TO ABSOLUTELY PREVENT HORIZONTAL OVERFLOW */
    .services-grid,
    .plans-grid,
    .testi-grid,
    .values-grid,
    .team-grid {
        grid-template-columns: 1fr !important;
    }

    /* RESPONSIVE TABLE FOR VISIBILITY PRO-PLAN */
    .pro-plan-table,
    .pro-plan-table thead,
    .pro-plan-table tbody,
    .pro-plan-table tr,
    .pro-plan-table td {
        display: block;
        width: 100%;
    }

    .pro-plan-table thead {
        display: none;
    }

    .pro-plan-table tr {
        background: var(--card2);
        border: 1.5px solid var(--border);
        border-radius: var(--radius);
        margin-bottom: 20px;
        padding: 24px;
    }

    .pro-plan-table td {
        padding: 8px 0;
        border-bottom: none;
    }

    .pro-plan-table td.step-num {
        margin-bottom: 8px;
    }

    /* SPEED CALCULATOR RESPONSIVENESS */
    .calculator-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .calc-box,
    .calc-result-panel {
        padding: 28px 20px;
    }

    /* TEXT SIZES RESPONSIVENESS */
    h1 {
        font-size: 2.6rem !important;
    }

    h2 {
        font-size: 2rem !important;
    }

    h3 {
        font-size: 1.4rem !important;
    }

    /* ENQUIRY CARD padding */
    .enq-form {
        padding: 24px 18px;
    }

    /* TOGGLE plans Switcher */
    .plans-toggle-container {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 2.1rem !important;
    }

    h2 {
        font-size: 1.7rem !important;
    }

    .btn {
        width: 100%;
        justify-content: center;
    }

    .why-visual {
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .why-card {
        position: static;
        width: 100%;
    }

    .wc1,
    .wc2,
    .wc3 {
        position: static !important;
    }
}

/* ============================================================
   NEW SERVICES ROW LIST DESIGN
   ============================================================ */
.services-list-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 40px;
    border-top: 1px solid var(--border);
}

.service-row {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    align-items: center;
    padding: 36px 16px;
    border-bottom: 1.5px solid var(--border);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.service-row::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--gold);
    transform: scaleY(0);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: bottom;
}

.service-row:hover::before {
    transform: scaleY(1);
    transform-origin: top;
}

.service-row:hover {
    background: rgba(201, 169, 110, 0.02);
    padding-left: 28px;
    border-color: rgba(201, 169, 110, 0.4);
}

.sr-num {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.5;
    transition: var(--transition);
}

.service-row:hover .sr-num {
    opacity: 1;
    transform: scale(1.1);
}

.sr-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sr-title {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--white);
    transition: var(--transition);
}

[data-theme="light"] .sr-title {
    color: #0c0a09;
}

.service-row:hover .sr-title {
    color: var(--gold);
}

.sr-desc {
    font-size: 0.95rem;
    color: var(--text2);
    max-width: 800px;
    line-height: 1.6;
}

.sr-details {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.sr-tag {
    font-size: 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border);
    padding: 6px 14px;
    border-radius: 50px;
    color: var(--text2);
    transition: var(--transition);
}

[data-theme="light"] .sr-tag {
    background: rgba(0, 0, 0, 0.02);
}

.service-row:hover .sr-tag {
    border-color: rgba(201, 169, 110, 0.2);
    background: rgba(201, 169, 110, 0.05);
    color: var(--gold);
}

.sr-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1.5px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    transition: var(--transition);
    background: transparent;
    cursor: pointer;
}

.service-row:hover .sr-btn {
    background: var(--gold);
    color: #0a0a0a;
    border-color: var(--gold);
    transform: rotate(45deg);
}

@media (max-width: 768px) {
    .service-row {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px 12px;
    }

    .sr-btn {
        display: none;
    }

    .sr-num {
        font-size: 1.2rem;
    }
}

/* ============================================================
   MARQUEE CAPABILITIES
   ============================================================ */
.marquee-track {
    width: 100%;
    background: rgba(201, 169, 110, 0.04);
    border-top: 1px solid rgba(201, 169, 110, 0.15);
    border-bottom: 1px solid rgba(201, 169, 110, 0.15);
    padding: 16px 0;
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

[data-theme="light"] .marquee-track {
    background: rgba(179, 143, 77, 0.03) !important;
    border-color: rgba(179, 143, 77, 0.12) !important;
}

.marquee-content {
    display: inline-flex;
    gap: 40px;
    animation: marqueeScroll 30s linear infinite;
}

.marquee-content span {
    font-family: var(--font-display);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--white);
    text-transform: uppercase;
}

[data-theme="light"] .marquee-content span {
    color: #0c0a09;
}

.marquee-dot {
    color: var(--gold) !important;
}

@keyframes marqueeScroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* ============================================================
   LIGHTHOUSE DASHBOARD VISUAL
   ============================================================ */
.lighthouse-dashboard {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 32px;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), var(--shadow-gold);
    position: relative;
    overflow: hidden;
    transition: var(--transition);
}

.lighthouse-dashboard:hover {
    transform: translateY(-5px);
    border-color: var(--gold);
}

.lh-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border2);
    padding-bottom: 16px;
    margin-bottom: 24px;
}

.lh-url {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text);
    letter-spacing: 0.05em;
}

.lh-badge {
    background: rgba(34, 197, 94, 0.1);
    color: #4ade80;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.05em;
}

.lh-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}

.lh-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.lh-circle {
    position: relative;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lh-ring-svg {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.lh-ring-bg {
    fill: none;
    stroke: rgba(255, 255, 255, 0.04);
    stroke-width: 4;
}

[data-theme="light"] .lh-ring-bg {
    stroke: rgba(0, 0, 0, 0.04);
}

.lh-ring-bar {
    fill: none;
    stroke: #10b981;
    stroke-width: 4;
    stroke-dasharray: 201;
    stroke-dashoffset: 0;
    stroke-linecap: round;
    transition: stroke-dashoffset 1s ease;
}

.lh-val-text {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    color: #10b981;
}

.lh-label {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--text3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
}

.lh-stats-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid var(--border2);
    padding-top: 20px;
}

.lh-stat-item {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
}

.lh-s-lbl {
    color: var(--text2);
}

.lh-s-val {
    font-family: var(--font-display);
    font-weight: 700;
}

.text-green {
    color: #10b981;
}
/* ==========================================================
   PREMIUM ORANGE / BLACK TAILWIND-READY REDESIGN OVERRIDE
   Screenshot inspired: dark tech agency, no header, bottom dock
   ========================================================== */
:root{
  --dr-orange:#ff3d08;
  --dr-orange-2:#ff6a00;
  --dr-black:#030303;
  --dr-panel:rgba(18,18,18,.72);
  --dr-border:rgba(255,255,255,.12);
  --dr-muted:#9ca3af;
  --dr-white:#f7f7f4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#000!important;color:var(--dr-white)!important;font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;overflow-x:hidden;padding-bottom:110px!important}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 50% 10%,rgba(255,61,8,.26),transparent 34%),radial-gradient(circle at 50% 80%,rgba(255,61,8,.16),transparent 38%),#000}
body:after{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(circle at center,black,transparent 72%);opacity:.22;pointer-events:none}
.navbar{display:none!important}.theme-toggle,.hamburger{display:none!important}
.premium-top-brand{position:fixed;top:28px;left:50%;transform:translateX(-50%);width:min(980px,calc(100% - 32px));z-index:80;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.premium-top-brand>*{pointer-events:auto}.premium-brand-mark{display:grid;grid-template-columns:36px auto;column-gap:10px;text-decoration:none;color:#fff;align-items:center}.premium-brand-mark span{grid-row:1/3;background:var(--dr-orange);color:#000;font-weight:900;width:34px;height:34px;display:grid;place-items:center;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);letter-spacing:-2px}.premium-brand-mark b{text-transform:uppercase;font:800 18px/1 'Sora',sans-serif;letter-spacing:.04em}.premium-brand-mark em{font-style:normal;text-transform:uppercase;color:#9ca3af;font-size:10px;letter-spacing:.34em}.premium-top-cta{background:var(--dr-orange);color:#fff;text-transform:uppercase;text-decoration:none;font-weight:900;letter-spacing:.12em;padding:17px 28px;box-shadow:0 0 35px rgba(255,61,8,.35);transition:.3s}.premium-top-cta:hover{transform:translateY(-3px);box-shadow:0 0 55px rgba(255,61,8,.55)}
.container{width:min(1120px,calc(100% - 34px))!important;margin-inline:auto!important}.section{padding:110px 0!important;position:relative}.section-alt,.featured{background:linear-gradient(180deg,transparent,rgba(255,61,8,.045),transparent)!important}.section-head{text-align:center!important;margin-bottom:46px!important}.eyebrow,.hero-eyebrow{display:inline-flex!important;align-items:center!important;gap:9px!important;border:1px solid rgba(255,255,255,.14)!important;background:rgba(255,255,255,.055)!important;border-radius:999px!important;color:#d1d5db!important;letter-spacing:.22em!important;text-transform:uppercase!important;font-size:11px!important;font-weight:800!important;padding:9px 18px!important}.eyebrow:before,.hero-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dr-orange);box-shadow:0 0 18px var(--dr-orange)}
h1,h2,h3{font-family:'Sora',system-ui,sans-serif!important;color:#fff!important;letter-spacing:-.055em}.hero{min-height:100vh!important;display:grid!important;place-items:center!important;padding:110px 18px 110px!important;overflow:hidden!important;text-align:center!important;background:radial-gradient(circle at center,rgba(255,61,8,.24),transparent 45%)!important}.hero-bg,.ph-bg{position:absolute!important;inset:0!important;pointer-events:none!important}.hero-content{position:relative!important;z-index:2!important;max-width:900px!important;margin:auto!important;display:block!important}.hero-title{font-size:clamp(34px,6.2vw,76px)!important;line-height:1.04!important;text-transform:uppercase!important;font-weight:900!important;margin:28px auto 22px!important}.hero-title em{font-style:normal!important;color:var(--dr-orange)!important;display:inline-block!important;text-shadow:0 0 40px rgba(255,61,8,.42)}.hero-sub,.section-sub,.ph-content p{color:#a9b0bd!important;font-size:clamp(14px,1.15vw,18px)!important;line-height:1.65!important;max-width:760px!important;margin-inline:auto!important}.hero-visual{display:none!important}.hero-cta,.cta-btns,.form-nav{display:flex!important;justify-content:center!important;gap:16px!important;flex-wrap:wrap!important;margin-top:34px!important}.btn,.cta-btns a,.hero-cta a,.form-nav button{border-radius:0!important;min-height:50px!important;padding:0 26px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;text-transform:uppercase!important;font-weight:900!important;letter-spacing:.12em!important;border:1px solid var(--dr-orange)!important;background:transparent!important;color:#fff!important;transition:.3s!important}.btn-primary,.btn-white,.hero-cta a:first-child,.form-nav button[type=submit]{background:var(--dr-orange)!important;border-color:var(--dr-orange)!important;box-shadow:0 22px 55px rgba(255,61,8,.28)!important}.btn:hover,.hero-cta a:hover,.cta-btns a:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(255,61,8,.25)!important}.hero-stats{margin:58px auto 0!important;display:inline-grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;background:rgba(12,12,12,.76)!important;border:1px solid var(--dr-border)!important;border-radius:22px!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 20px 70px rgba(0,0,0,.45)!important;overflow:hidden!important}.stat{padding:22px 32px!important}.stat-n{display:block!important;color:#fff!important;font-size:22px!important;font-weight:900!important}.stat-l{display:block!important;color:#808895!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.12em!important}.stat-div{display:none!important}.code-symbol{position:absolute;z-index:1;color:rgba(255,255,255,.22);font:900 clamp(46px,7vw,86px)/1 'Sora';animation:floatCode 5.5s ease-in-out infinite}.code-left{left:9%;top:58%}.code-right{right:9%;top:28%;animation-delay:1.2s}@keyframes floatCode{50%{transform:translateY(-24px) rotate(4deg);color:rgba(255,61,8,.45)}}
.page-hero{min-height:58vh!important;display:grid!important;place-items:center!important;text-align:center!important;padding:130px 18px 80px!important;position:relative!important;overflow:hidden!important;background:radial-gradient(circle at 50% 20%,rgba(255,61,8,.20),transparent 47%)!important}.ph-content h1{font-size:clamp(32px,5.4vw,62px)!important;text-transform:uppercase!important;line-height:.95!important;margin:22px 0!important}.ph-bg{display:none!important}
.service-row,.plan-card,.process-card,.value-card,.team-card,.tc-card,.ccard,.info-box,.enq-form,.enq-info-card,.blog-visual-card,.blog-card,.mission-quote,.calc-box,.newsletter-card,.faq-item,.visibility-plan,.backbone-card,.lighthouse-dashboard,.testi-card,.office-item{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;border:1px solid var(--dr-border)!important;border-radius:26px!important;box-shadow:0 28px 80px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.08)!important;backdrop-filter:blur(18px)!important;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease!important}.service-row:hover,.plan-card:hover,.process-card:hover,.value-card:hover,.team-card:hover,.ccard:hover,.blog-visual-card:hover{transform:translateY(-8px)!important;border-color:rgba(255,61,8,.52)!important;box-shadow:0 30px 90px rgba(255,61,8,.15)!important}.services-list-container,.plans-grid,.process-steps,.values-grid,.team-grid,.contact-cards,.contact-split,.enquiry-wrap,.blog-custom-grid,.testi-grid,.backbone-grid,.lh-metrics{gap:22px!important}.service-row{padding:28px!important}.sr-num,.proc-num,.vc-num,.plan-badge,.step-badge{color:var(--dr-orange)!important}.sr-title,.plan-card h3,.process-card h3,.value-card h3,.team-card h3,.ccard h3,.enq-info-card h3,.blog-visual-card h3{color:#fff!important}.sr-desc,.plan-desc,.tc-bio,.ccard-note,.blog-card-text,.article-body-text,.mission-text p,.value-card p,.process-card p,.office-item p,.faq-a{color:#a1a8b4!important}.plan-price,.ccard-val{color:#fff!important}.check,.feat-check,.text-green{color:var(--dr-orange)!important}.marquee-track{border-block:1px solid rgba(255,255,255,.10)!important;background:#060606!important;color:#fff!important}.marquee-content span{color:#fff!important}.marquee-dot{color:var(--dr-orange)!important}.footer{background:#030303!important;border-top:1px solid rgba(255,255,255,.10)!important;padding-bottom:40px!important}.footer *{color:#a7afbd!important}.footer .logo-text,.footer h3,.footer h4{color:#fff!important}input,select,textarea{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.13)!important;color:#fff!important;border-radius:16px!important;min-height:52px!important}input:focus,select:focus,textarea:focus{border-color:var(--dr-orange)!important;box-shadow:0 0 0 4px rgba(255,61,8,.14)!important;outline:0!important}label{color:#cfd3dc!important}.faq-q{color:#fff!important}.faq-item.open{border-color:rgba(255,61,8,.45)!important}.timeline:before{background:linear-gradient(var(--dr-orange),transparent)!important}.tl-dot{background:var(--dr-orange)!important;box-shadow:0 0 22px var(--dr-orange)!important}.filter-chip-btn.active,.filter-chip-btn:hover,.pill.selected{background:var(--dr-orange)!important;color:#fff!important;border-color:var(--dr-orange)!important}.custom-modal-window{background:#080808!important;border:1px solid var(--dr-border)!important}.modal-scroll-pane{background:#080808!important}.modal-close-trigger{background:var(--dr-orange)!important;color:#fff!important}.floating-dock{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100;width:min(620px,calc(100% - 28px));height:76px;border-radius:999px;background:rgba(13,13,13,.78);border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 80px rgba(0,0,0,.65),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;gap:10px;padding:10px}.floating-dock a{color:#8f949d;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:72px;height:56px;border-radius:999px;font-weight:800;transition:.28s}.floating-dock span{font-size:18px}.floating-dock small{font-size:10px}.floating-dock a:hover,.floating-dock a.active{color:var(--dr-orange);background:rgba(255,61,8,.09)}.floating-dock .dock-hot{background:var(--dr-orange);color:#fff;min-width:58px;box-shadow:0 0 30px rgba(255,61,8,.42)}.floating-dock .dock-hot:hover{color:#fff;transform:translateY(-4px)}.ai-float{position:fixed;right:28px;bottom:24px;z-index:101;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:var(--dr-orange);color:#fff;font-size:26px;box-shadow:0 0 40px rgba(255,61,8,.55);animation:pulseChat 2s infinite}.ai-float i{position:absolute;right:-5px;top:-5px;background:#ff4868;color:#fff;border:2px solid #fff;border-radius:50%;font-size:12px;font-style:normal;width:24px;height:24px;display:grid;place-items:center}@keyframes pulseChat{50%{transform:translateY(-7px);box-shadow:0 0 65px rgba(255,61,8,.75)}}
[data-premium-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}[data-premium-reveal].show{opacity:1;transform:none}.hero-content>*{animation:heroIn .8s ease both}.hero-content>*:nth-child(2){animation-delay:.1s}.hero-content>*:nth-child(3){animation-delay:.2s}.hero-content>*:nth-child(4){animation-delay:.3s}.hero-content>*:nth-child(5){animation-delay:.4s}@keyframes heroIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:820px){.premium-top-brand{top:16px}.premium-brand-mark b{font-size:15px}.premium-brand-mark em{letter-spacing:.18em}.premium-top-cta{display:none}.hero{padding-top:96px!important}.hero-stats{grid-template-columns:1fr!important;width:100%!important}.stat{padding:16px!important}.code-symbol{display:none}.floating-dock{height:70px;bottom:12px;gap:2px;padding:8px}.floating-dock a{min-width:48px}.floating-dock small{font-size:8px}.ai-float{right:16px;bottom:94px;width:54px;height:54px}.section{padding:62px 0!important}.hero-title,.ph-content h1{letter-spacing:-.06em!important}.btn,.cta-btns a,.hero-cta a,.form-nav button{width:100%;min-height:48px!important}.contact-split,.enquiry-wrap{grid-template-columns:1fr!important}}


/* ============================================================
   FONT SIZE BALANCE FIX - premium design preserved
   ============================================================ */
.hero-title{font-size:clamp(34px,6.2vw,76px)!important;line-height:1.04!important;letter-spacing:-.045em!important;margin:24px auto 18px!important;}
.hero-sub,.section-sub,.ph-content p{font-size:clamp(14px,1.15vw,18px)!important;line-height:1.55!important;}
.section-head h2,.ph-content h1{font-size:clamp(30px,4.8vw,58px)!important;line-height:1.05!important;}
.card h3,.service-card h3,.work-card h3,.blog-card h3{font-size:clamp(18px,1.6vw,24px)!important;line-height:1.25!important;}
.card p,.service-card p,.work-card p,.blog-card p,.feature p,.about p{font-size:15px!important;line-height:1.65!important;}
.btn,.hero-cta a,.cta-btns a,.form-nav button{min-height:50px!important;padding:0 26px!important;font-size:13px!important;letter-spacing:.10em!important;}
.stat-n{font-size:22px!important;}
.stat-l{font-size:10px!important;}
@media(max-width:820px){
  .hero-title{font-size:clamp(32px,10vw,48px)!important;line-height:1.05!important;}
  .ph-content h1,.section-head h2{font-size:clamp(28px,8vw,42px)!important;}
  .hero-sub,.section-sub,.ph-content p{font-size:14px!important;}
  .btn,.hero-cta a,.cta-btns a,.form-nav button{min-height:48px!important;font-size:12px!important;}
}

/* ============================================================
   PREMIUM FULL-WIDTH POLISH UPDATE
   Same content + same orange/dark design, improved section width,
   balanced typography, and professional card spacing.
   ============================================================ */
html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
}

.section{
    width:100%!important;
    max-width:100%!important;
    padding:92px 0!important;
    position:relative!important;
}

.container{
    width:min(1360px, calc(100% - 72px))!important;
    max-width:1360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
}

.section-head{
    max-width:980px!important;
    margin:0 auto 44px!important;
    text-align:center!important;
}

.section-head h2,
.ph-content h1{
    font-size:clamp(30px,3.2vw,48px)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
}

.section-sub{
    max-width:740px!important;
    font-size:clamp(14px,1vw,16px)!important;
}

/* Standards section now uses full page space instead of looking like a small boxed card area */
.backbone{
    isolation:isolate!important;
    overflow:hidden!important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,61,8,.10), transparent 34%),
        radial-gradient(circle at 10% 80%, rgba(255,61,8,.055), transparent 30%),
        linear-gradient(180deg,#05070b 0%,#070a10 50%,#05070b 100%)!important;
}

.backbone::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.42;
    background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
    background-size:24px 24px;
    mask-image:linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%);
    z-index:-1;
}

.backbone-grid{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:stretch!important;
}

.backbone-card{
    min-height:295px!important;
    padding:34px 28px!important;
    border-radius:28px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.025))!important;
    border:1px solid rgba(255,255,255,.105)!important;
    box-shadow:0 28px 80px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.075)!important;
    backdrop-filter:blur(16px)!important;
}

.backbone-card:hover{
    transform:translateY(-10px)!important;
    border-color:rgba(255,61,8,.48)!important;
    box-shadow:0 34px 95px rgba(255,61,8,.14), inset 0 1px rgba(255,255,255,.10)!important;
}

.backbone-icon{
    width:44px!important;
    height:44px!important;
    color:#fff!important;
    margin-bottom:22px!important;
}

.backbone-card h3{
    font-size:clamp(20px,1.55vw,27px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    margin-bottom:14px!important;
}

.backbone-card p{
    font-size:14px!important;
    line-height:1.72!important;
    color:#9da5b3!important;
}

/* Make other grid sections breathe across the full page too */
.services-list-container,
.plans-grid,
.process-steps,
.values-grid,
.team-grid,
.contact-cards,
.blog-custom-grid,
.testi-grid,
.lh-metrics{
    width:100%!important;
}

.service-row,
.plan-card,
.process-card,
.value-card,
.team-card,
.tc-card,
.ccard,
.info-box,
.enq-form,
.enq-info-card,
.blog-visual-card,
.blog-card,
.mission-quote,
.calc-box,
.newsletter-card,
.faq-item,
.visibility-plan,
.lighthouse-dashboard,
.testi-card,
.office-item{
    border-radius:26px!important;
}

/* Better laptop/tablet handling */
@media(max-width:1180px){
    .container{width:min(100% - 44px, 1040px)!important;}
    .backbone-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:720px){
    .container{width:calc(100% - 28px)!important;}
    .section{padding:64px 0!important;}
    .section-head{margin-bottom:30px!important;}
    .section-head h2,.ph-content h1{font-size:clamp(28px,8vw,38px)!important;}
    .backbone-grid{grid-template-columns:1fr!important;gap:16px!important;}
    .backbone-card{min-height:auto!important;padding:26px 22px!important;border-radius:22px!important;}
    .backbone-card h3{font-size:22px!important;}
    .backbone-card p{font-size:13.5px!important;line-height:1.62!important;}
}

/* ============================================================
   FINAL RESPONSIVE FIX PACK
   Premium design/content preserved. Fixes mobile/tablet overflow,
   card grids, bottom dock, hero, services rows and forms.
   ============================================================ */
html, body{
    min-width:0!important;
    overflow-x:hidden!important;
}
img, svg, video, canvas, iframe{
    max-width:100%!important;
}
.container,
.hero-content,
.section-head,
.newsletter-card,
.cta-banner .container{
    min-width:0!important;
}
.sr-content,
.backbone-card,
.plan-card,
.process-card,
.value-card,
.team-card,
.testi-card,
.blog-card,
.ccard,
.enq-form,
.enq-info-card,
.info-box{
    min-width:0!important;
    overflow-wrap:anywhere!important;
}

@media(max-width:1180px){
    .container{width:calc(100% - 44px)!important;max-width:1040px!important;}
    .services-list-container{margin-top:28px!important;}
    .service-row{grid-template-columns:62px minmax(0,1fr) 46px!important;padding:26px 18px!important;gap:14px!important;}
    .sr-title{font-size:clamp(22px,3vw,34px)!important;line-height:1.05!important;}
    .sr-desc{font-size:14px!important;line-height:1.6!important;}
    .plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.lh-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .contact-split,.enquiry-wrap{grid-template-columns:1fr!important;}
}

@media(max-width:820px){
    body{padding-bottom:96px!important;}
    .premium-top-brand{top:12px!important;width:calc(100% - 24px)!important;align-items:center!important;}
    .premium-brand-mark{grid-template-columns:30px minmax(0,1fr)!important;column-gap:8px!important;max-width:210px!important;}
    .premium-brand-mark span{width:28px!important;height:28px!important;font-size:12px!important;}
    .premium-brand-mark b{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    .premium-brand-mark em{font-size:8px!important;letter-spacing:.16em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
    .premium-top-cta{display:none!important;}

    .hero{min-height:auto!important;padding:94px 14px 58px!important;display:block!important;text-align:center!important;}
    .hero-content{width:100%!important;max-width:100%!important;}
    .hero-eyebrow,.eyebrow{font-size:9px!important;letter-spacing:.16em!important;padding:7px 12px!important;}
    .hero-title{font-size:clamp(30px,10.2vw,48px)!important;line-height:1.02!important;letter-spacing:-.065em!important;margin:20px auto 14px!important;}
    .hero-sub{font-size:14px!important;line-height:1.58!important;max-width:92%!important;}
    .hero-cta,.cta-btns,.form-nav{width:100%!important;gap:12px!important;margin-top:26px!important;}
    .btn,.hero-cta a,.cta-btns a,.form-nav button{width:100%!important;min-height:46px!important;padding:0 16px!important;font-size:11px!important;letter-spacing:.09em!important;}
    .hero-stats{width:100%!important;display:grid!important;grid-template-columns:1fr!important;margin-top:34px!important;border-radius:18px!important;}
    .stat{padding:14px 16px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
    .stat:last-child{border-bottom:0!important;}
    .stat-n{font-size:20px!important;}
    .stat-l{font-size:9px!important;}
    .code-symbol{display:none!important;}
    .marquee-track{overflow:hidden!important;}
    .marquee-content span{font-size:11px!important;white-space:nowrap!important;}

    .section{padding:58px 0!important;}
    .container{width:calc(100% - 28px)!important;max-width:100%!important;}
    .section-head{margin-bottom:28px!important;}
    .section-head h2,.ph-content h1{font-size:clamp(26px,8.4vw,38px)!important;line-height:1.08!important;}
    .section-sub,.ph-content p{font-size:14px!important;line-height:1.58!important;}

    .services-list-container{border-top:0!important;gap:14px!important;margin-top:22px!important;}
    .service-row{display:grid!important;grid-template-columns:1fr!important;padding:24px 20px!important;gap:16px!important;border:1px solid rgba(255,255,255,.105)!important;border-radius:22px!important;}
    .sr-num{font-size:12px!important;letter-spacing:.16em!important;margin-bottom:2px!important;}
    .sr-title{font-size:clamp(22px,7vw,30px)!important;line-height:1.05!important;}
    .sr-desc{font-size:13.5px!important;line-height:1.62!important;}
    .sr-details{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:14px!important;}
    .sr-tag{font-size:10px!important;max-width:100%!important;}
    .sr-btn{width:44px!important;height:44px!important;justify-self:start!important;}

    .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics,.ccard-grid,.form-row,.footer-inner{grid-template-columns:1fr!important;gap:16px!important;}
    .backbone-card,.plan-card,.process-card,.value-card,.team-card,.testi-card,.blog-card,.ccard,.info-box,.enq-form,.enq-info-card,.newsletter-card,.faq-item,.visibility-plan,.lighthouse-dashboard,.office-item{padding:22px 18px!important;border-radius:22px!important;}
    .backbone-card h3,.plan-card h3,.process-card h3,.value-card h3,.team-card h3,.testi-card h3,.blog-card h3,.ccard h3{font-size:21px!important;line-height:1.12!important;}
    .backbone-card p,.plan-card p,.process-card p,.value-card p,.team-card p,.testi-card p,.blog-card p,.ccard p{font-size:13.5px!important;line-height:1.62!important;}
    .cta-banner{padding:54px 0!important;text-align:center!important;}
    .newsletter-form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
    input,select,textarea{min-height:48px!important;font-size:14px!important;border-radius:14px!important;}

    .floating-dock{width:calc(100% - 14px)!important;height:64px!important;bottom:10px!important;padding:7px!important;gap:1px!important;border-radius:999px!important;z-index:999!important;}
    .floating-dock a{flex:1 1 0!important;min-width:0!important;width:auto!important;height:50px!important;padding:0 2px!important;gap:2px!important;}
    .floating-dock span{font-size:15px!important;line-height:1!important;}
    .floating-dock small{font-size:7.5px!important;line-height:1!important;letter-spacing:-.02em!important;}
    .floating-dock .dock-hot{flex:0 0 48px!important;min-width:48px!important;width:48px!important;height:48px!important;}
    .ai-float{right:12px!important;bottom:82px!important;width:50px!important;height:50px!important;font-size:21px!important;}
    .ai-float i{width:20px!important;height:20px!important;font-size:10px!important;}
    .footer{padding-bottom:82px!important;}
}

@media(max-width:430px){
    .container{width:calc(100% - 22px)!important;}
    .hero{padding-top:88px!important;}
    .hero-title{font-size:clamp(28px,11vw,40px)!important;}
    .hero-sub{max-width:100%!important;font-size:13.5px!important;}
    .service-row{padding:20px 16px!important;}
    .sr-title{font-size:21px!important;}
    .section-head h2,.ph-content h1{font-size:27px!important;}
    .floating-dock{width:calc(100% - 8px)!important;height:60px!important;bottom:6px!important;padding:6px!important;}
    .floating-dock a{height:46px!important;}
    .floating-dock span{font-size:14px!important;}
    .floating-dock small{font-size:7px!important;}
    .floating-dock .dock-hot{flex-basis:44px!important;width:44px!important;height:44px!important;}
}

/* ============================================================
   DIGIRITUAL BRAND POLISH PACK - compact premium website feel
   Same content + same dark design, but better proportions.
   ============================================================ */
:root{
  --dr-orange:#ff6a00!important;
  --dr-orange-2:#ff3d00!important;
  --dr-amber:#ffb000!important;
  --dr-black:#020202!important;
  --dr-panel:rgba(12,13,16,.78)!important;
  --dr-border:rgba(255,106,0,.18)!important;
  --dr-muted:#a4abb7!important;
  --dr-white:#f8fafc!important;
  --gold:#ff6a00!important;
  --gold2:#ffb000!important;
  --blue2:#ff6a00!important;
}
html{font-size:15.5px!important;}
body{
  background:#020202!important;
  background-image:
    radial-gradient(circle at 50% 0%, rgba(255,106,0,.18), transparent 32%),
    radial-gradient(circle at 100% 35%, rgba(255,61,0,.08), transparent 28%),
    linear-gradient(180deg,#020202 0%,#06080d 45%,#030303 100%)!important;
}
body:before{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,106,0,.20),transparent 34%),
    radial-gradient(circle at 12% 78%,rgba(255,176,0,.06),transparent 30%),
    #020202!important;
}
body:after{background-size:72px 72px!important;opacity:.14!important;}

/* compact, website-like proportions */
.container{width:min(1180px,calc(100% - 48px))!important;}
.section{padding:82px 0!important;}
.section-head{margin-bottom:34px!important;}
.eyebrow,.hero-eyebrow{font-size:9.5px!important;letter-spacing:.24em!important;padding:7px 14px!important;}
.section-head h2,.ph-content h1{font-size:clamp(28px,3.5vw,44px)!important;line-height:1.12!important;letter-spacing:-.04em!important;}
.section-sub,.ph-content p{font-size:15px!important;line-height:1.68!important;max-width:720px!important;}

/* hero: no oversized look */
.hero{
  min-height:88vh!important;
  padding:96px 18px 84px!important;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,106,0,.18),transparent 42%),
    linear-gradient(180deg,#020202 0%,#090501 48%,#020202 100%)!important;
}
.hero-content{max-width:860px!important;}
.hero-title{
  font-size:clamp(34px,5.2vw,62px)!important;
  line-height:1.06!important;
  letter-spacing:-.05em!important;
  margin:22px auto 16px!important;
}
.hero-title em{color:var(--dr-orange)!important;text-shadow:0 0 32px rgba(255,106,0,.35)!important;}
.hero-sub{font-size:clamp(14px,1.08vw,17px)!important;line-height:1.65!important;max-width:700px!important;}
.hero-cta{margin-top:28px!important;}
.btn,.cta-btns a,.hero-cta a,.form-nav button{
  min-height:46px!important;
  padding:0 24px!important;
  font-size:12px!important;
  border-radius:14px!important;
  letter-spacing:.10em!important;
}
.btn-primary,.btn-white,.hero-cta a:first-child,.form-nav button[type=submit],.premium-top-cta,.floating-dock .dock-hot,.ai-float{
  background:linear-gradient(135deg,var(--dr-orange),var(--dr-orange-2))!important;
  border-color:rgba(255,106,0,.9)!important;
  box-shadow:0 18px 44px rgba(255,106,0,.24)!important;
}
.hero-stats{
  margin-top:38px!important;
  border-radius:20px!important;
  background:rgba(12,12,14,.68)!important;
  border-color:rgba(255,106,0,.16)!important;
}
.stat{padding:17px 28px!important;}
.stat-n{font-size:20px!important;}
.stat-l{font-size:10px!important;letter-spacing:.11em!important;}
.code-symbol{opacity:.48!important;font-size:clamp(40px,6vw,72px)!important;}

/* top brand: cleaner and less dominant */
.premium-top-brand{top:22px!important;width:min(1040px,calc(100% - 40px))!important;}
.premium-brand-mark span{background:linear-gradient(135deg,var(--dr-orange),var(--dr-orange-2))!important;color:#fff!important;}
.premium-brand-mark b{font-size:16px!important;}
.premium-brand-mark em{font-size:9px!important;color:#b9c0ca!important;letter-spacing:.28em!important;}
.premium-top-cta{border-radius:12px!important;padding:13px 22px!important;font-size:12px!important;}

/* service rows should feel like real website sections, not giant blocks */
.services-list-container{gap:14px!important;}
.service-row{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 48px!important;
  gap:18px!important;
  align-items:center!important;
  padding:22px 24px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.022))!important;
}
.sr-num{font-size:13px!important;letter-spacing:.16em!important;color:var(--dr-orange)!important;}
.sr-title{font-size:clamp(22px,2.4vw,31px)!important;line-height:1.12!important;letter-spacing:-.045em!important;}
.sr-desc{font-size:14px!important;line-height:1.62!important;max-width:850px!important;}
.sr-details{margin-top:12px!important;gap:8px!important;}
.sr-tag{font-size:10px!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(255,106,0,.08)!important;border:1px solid rgba(255,106,0,.16)!important;color:#ffc17c!important;}
.sr-btn{width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(255,106,0,.10)!important;border-color:rgba(255,106,0,.22)!important;color:var(--dr-orange)!important;}

/* cards: premium, smaller, equal, no awkward blank feel */
.backbone{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,106,0,.09),transparent 34%),
    linear-gradient(180deg,#05070b 0%,#080b12 55%,#05070b 100%)!important;
}
.backbone-grid,
.plans-grid,
.process-steps,
.values-grid,
.team-grid,
.testi-grid,
.contact-cards,
.blog-custom-grid,
.lh-metrics{
  gap:18px!important;
}
.backbone-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.backbone-card,
.plan-card,
.process-card,
.value-card,
.team-card,
.testi-card,
.blog-card,
.ccard,
.info-box,
.enq-form,
.enq-info-card,
.newsletter-card,
.faq-item,
.visibility-plan,
.lighthouse-dashboard,
.office-item{
  border-radius:24px!important;
  padding:24px 22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,106,0,.13)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.06)!important;
}
.backbone-card{min-height:250px!important;}
.backbone-icon{width:36px!important;height:36px!important;margin-bottom:17px!important;color:#fff!important;}
.backbone-card h3,.plan-card h3,.process-card h3,.value-card h3,.team-card h3,.testi-card h3,.blog-card h3,.ccard h3{font-size:clamp(18px,1.45vw,22px)!important;line-height:1.16!important;letter-spacing:-.035em!important;}
.backbone-card p,.plan-card p,.process-card p,.value-card p,.team-card p,.testi-card p,.blog-card p,.ccard p,.faq-a{font-size:13.5px!important;line-height:1.68!important;color:#a9b1bd!important;}
.service-row:hover,.backbone-card:hover,.plan-card:hover,.process-card:hover,.value-card:hover,.team-card:hover,.ccard:hover,.blog-card:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(255,106,0,.45)!important;
  box-shadow:0 22px 66px rgba(255,106,0,.13), inset 0 1px rgba(255,255,255,.09)!important;
}

/* section-specific tightening */
.visibility-plan{padding:44px 0!important;}
.calculator .calc-box{max-width:920px!important;margin-inline:auto!important;}
.process-card{min-height:unset!important;}
.faq-item{padding:20px 22px!important;}
.cta-banner{padding:68px 0!important;background:radial-gradient(circle at 50% 50%,rgba(255,106,0,.18),transparent 48%),#040404!important;}
.newsletter.section{padding-top:64px!important;}
.footer{padding:56px 0 90px!important;}

/* bottom dock: more polished and not huge */
.floating-dock{
  width:min(560px,calc(100% - 28px))!important;
  height:66px!important;
  bottom:18px!important;
  padding:8px!important;
  gap:6px!important;
  background:rgba(10,10,11,.82)!important;
  border-color:rgba(255,106,0,.18)!important;
}
.floating-dock a{min-width:62px!important;height:50px!important;font-size:13px!important;}
.floating-dock span{font-size:16px!important;}
.floating-dock small{font-size:9px!important;}
.floating-dock a:hover,.floating-dock a.active{color:var(--dr-orange)!important;background:rgba(255,106,0,.10)!important;}
.ai-float{width:56px!important;height:56px!important;right:22px!important;bottom:20px!important;}

/* Responsive polish */
@media(max-width:1180px){
  .container{width:calc(100% - 40px)!important;}
  .backbone-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.lh-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .service-row{grid-template-columns:48px minmax(0,1fr) 44px!important;padding:20px!important;}
}
@media(max-width:820px){
  html{font-size:15px!important;}
  body{padding-bottom:84px!important;}
  .container{width:calc(100% - 28px)!important;}
  .premium-top-brand{top:12px!important;width:calc(100% - 24px)!important;}
  .premium-brand-mark b{font-size:13px!important;}
  .premium-brand-mark em{font-size:7.5px!important;letter-spacing:.14em!important;}
  .hero{min-height:auto!important;padding:82px 14px 52px!important;}
  .hero-title{font-size:clamp(30px,9.6vw,44px)!important;line-height:1.05!important;margin:18px auto 12px!important;}
  .hero-sub{font-size:13.5px!important;max-width:100%!important;}
  .hero-cta{display:grid!important;grid-template-columns:1fr!important;margin-top:22px!important;}
  .btn,.cta-btns a,.hero-cta a,.form-nav button{width:100%!important;min-height:44px!important;border-radius:13px!important;}
  .hero-stats{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin-top:26px!important;}
  .stat{padding:13px!important;}
  .section{padding:54px 0!important;}
  .section-head{margin-bottom:24px!important;}
  .section-head h2,.ph-content h1{font-size:clamp(25px,7.8vw,34px)!important;}
  .section-sub,.ph-content p{font-size:13.5px!important;}
  .service-row{grid-template-columns:1fr!important;padding:20px 17px!important;border-radius:20px!important;gap:12px!important;}
  .sr-title{font-size:21px!important;}
  .sr-desc{font-size:13.2px!important;}
  .sr-btn{justify-self:start!important;}
  .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics,.ccard-grid,.form-row,.footer-inner{grid-template-columns:1fr!important;gap:14px!important;}
  .backbone-card,.plan-card,.process-card,.value-card,.team-card,.testi-card,.blog-card,.ccard,.info-box,.enq-form,.enq-info-card,.newsletter-card,.faq-item,.visibility-plan,.lighthouse-dashboard,.office-item{padding:20px 17px!important;border-radius:20px!important;}
  .backbone-card{min-height:auto!important;}
  .floating-dock{width:calc(100% - 10px)!important;height:58px!important;bottom:6px!important;padding:6px!important;gap:1px!important;}
  .floating-dock a{min-width:0!important;flex:1 1 0!important;height:46px!important;}
  .floating-dock span{font-size:14px!important;}
  .floating-dock small{font-size:7px!important;}
  .floating-dock .dock-hot{flex:0 0 44px!important;width:44px!important;height:44px!important;}
  .ai-float{width:48px!important;height:48px!important;right:10px!important;bottom:72px!important;}
  .footer{padding-bottom:76px!important;}
}
@media(max-width:430px){
  .container{width:calc(100% - 20px)!important;}
  .hero-title{font-size:29px!important;letter-spacing:-.045em!important;}
  .hero-sub{font-size:13px!important;}
  .section-head h2{font-size:25px!important;}
  .premium-brand-mark{max-width:190px!important;}
  .premium-brand-mark em{display:none!important;}
}

/* ============================================================
   FINAL DIGIRITUAL BRAND WOW REDESIGN
   Live brand inspired: sacred black + antique gold + warm cream.
   Header removed, compact full-website proportions, premium motion.
   ============================================================ */
:root{
  --dr-orange:#c9a66b!important;
  --dr-orange-2:#8b642d!important;
  --dr-amber:#f1d59a!important;
  --dr-gold:#c9a66b!important;
  --dr-gold-soft:#e9c983!important;
  --dr-brown:#3a2412!important;
  --dr-black:#050403!important;
  --dr-ink:#080704!important;
  --dr-panel:rgba(16,13,9,.72)!important;
  --dr-border:rgba(201,166,107,.22)!important;
  --dr-muted:#b8ad9e!important;
  --dr-white:#fff8ed!important;
  --gold:#c9a66b!important;
  --gold2:#f1d59a!important;
  --blue:#fff8ed!important;
  --blue2:#c9a66b!important;
  --text:#fff8ed!important;
  --text2:#b8ad9e!important;
}
html{font-size:15px!important;scroll-padding-top:30px!important;}
body{
  background:#050403!important;
  color:var(--dr-white)!important;
  padding-bottom:92px!important;
  background-image:
    radial-gradient(circle at 50% 0%, rgba(201,166,107,.18), transparent 28%),
    radial-gradient(circle at 90% 30%, rgba(89,51,22,.22), transparent 26%),
    radial-gradient(circle at 8% 74%, rgba(241,213,154,.08), transparent 26%),
    linear-gradient(180deg,#050403 0%,#0b0704 42%,#050403 100%)!important;
}
body:before{
  background:
    radial-gradient(circle at 50% 18%,rgba(201,166,107,.18),transparent 30%),
    radial-gradient(circle at 50% 62%,rgba(70,37,12,.34),transparent 36%),
    #050403!important;
}
body:after{
  background-image:
    linear-gradient(90deg,rgba(201,166,107,.055) 1px,transparent 1px),
    linear-gradient(rgba(201,166,107,.045) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  opacity:.14!important;
  mask-image:radial-gradient(circle at 50% 35%,#000,transparent 70%)!important;
}
/* user asked no header */
.navbar,.premium-top-brand,.theme-toggle,.hamburger{display:none!important;}
.container{width:min(1180px,calc(100% - 44px))!important;max-width:1180px!important;}
.section{padding:72px 0!important;overflow:hidden!important;}
.section-alt,.featured{background:linear-gradient(180deg,transparent,rgba(201,166,107,.045),transparent)!important;}
.section-head{max-width:860px!important;margin:0 auto 32px!important;text-align:center!important;}
.eyebrow,.hero-eyebrow{
  background:rgba(201,166,107,.08)!important;
  border:1px solid rgba(201,166,107,.25)!important;
  color:#e9c983!important;
  font-size:9px!important;
  letter-spacing:.26em!important;
  padding:7px 14px!important;
  box-shadow:0 0 28px rgba(201,166,107,.07)!important;
}
.eyebrow:before,.hero-eyebrow:before{background:#e9c983!important;box-shadow:0 0 16px #c9a66b!important;}
h1,h2,h3{color:#fff8ed!important;font-family:'Sora',system-ui,sans-serif!important;}
.section-head h2,.ph-content h1{font-size:clamp(27px,3.15vw,43px)!important;line-height:1.08!important;letter-spacing:-.045em!important;}
.section-sub,.ph-content p{font-size:14.5px!important;line-height:1.72!important;color:#b8ad9e!important;max-width:680px!important;}
.hero{
  min-height:86vh!important;
  padding:88px 18px 70px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(201,166,107,.20),transparent 38%),
    radial-gradient(circle at 50% 75%,rgba(58,36,18,.45),transparent 38%),
    linear-gradient(180deg,#050403 0%,#100904 50%,#050403 100%)!important;
}
.hero:before{
  content:"";position:absolute;inset:7% auto auto 50%;transform:translateX(-50%);
  width:min(620px,78vw);height:min(620px,78vw);border-radius:50%;pointer-events:none;
  background:conic-gradient(from 180deg,transparent,rgba(201,166,107,.28),transparent 36%,rgba(241,213,154,.15),transparent 70%);
  filter:blur(.2px);opacity:.45;animation:drSpin 16s linear infinite;mask:radial-gradient(circle,transparent 0 42%,#000 43% 45%,transparent 46% 100%);
}
@keyframes drSpin{to{transform:translateX(-50%) rotate(360deg)}}
.hero-content{max-width:840px!important;position:relative!important;z-index:2!important;}
.hero-title{
  font-size:clamp(34px,5vw,60px)!important;
  line-height:1.04!important;
  letter-spacing:-.055em!important;
  margin:20px auto 14px!important;
  text-transform:none!important;
}
.hero-title em{
  color:#e9c983!important;
  background:linear-gradient(90deg,#fff8ed,#e9c983,#b8863b)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  text-shadow:none!important;
}
.hero-sub{font-size:clamp(14px,1.05vw,16.5px)!important;line-height:1.72!important;color:#c7bcad!important;max-width:700px!important;}
.hero-cta,.cta-btns,.form-nav{margin-top:26px!important;gap:12px!important;}
.btn,.cta-btns a,.hero-cta a,.form-nav button{
  min-height:44px!important;padding:0 22px!important;border-radius:999px!important;
  font-size:11px!important;letter-spacing:.12em!important;
  border:1px solid rgba(201,166,107,.45)!important;color:#fff8ed!important;
  background:rgba(201,166,107,.045)!important;
}
.btn-primary,.btn-white,.hero-cta a:first-child,.form-nav button[type=submit]{
  color:#140d06!important;background:linear-gradient(135deg,#f1d59a,#c9a66b 55%,#8b642d)!important;
  border-color:#f1d59a!important;box-shadow:0 16px 42px rgba(201,166,107,.24)!important;
}
.btn:hover,.hero-cta a:hover,.cta-btns a:hover{transform:translateY(-3px)!important;box-shadow:0 18px 50px rgba(201,166,107,.18)!important;}
.hero-stats{
  margin-top:34px!important;border-radius:24px!important;background:rgba(11,8,5,.62)!important;
  border:1px solid rgba(201,166,107,.20)!important;box-shadow:0 22px 70px rgba(0,0,0,.46),inset 0 1px rgba(255,248,237,.08)!important;
}
.stat{padding:16px 26px!important;}
.stat-n{font-size:19px!important;color:#fff8ed!important;}
.stat-l{font-size:9px!important;color:#b8ad9e!important;}
.code-symbol{color:rgba(201,166,107,.20)!important;opacity:.75!important;font-size:clamp(40px,6vw,70px)!important;}
@keyframes floatCode{50%{transform:translateY(-20px) rotate(4deg);color:rgba(233,201,131,.38)}}
/* premium compact cards */
.service-row,.backbone-card,.plan-card,.process-card,.value-card,.team-card,.testi-card,.blog-card,.ccard,.info-box,.enq-form,.enq-info-card,.newsletter-card,.faq-item,.visibility-plan,.lighthouse-dashboard,.office-item,.blog-visual-card,.calc-box{
  background:linear-gradient(180deg,rgba(255,248,237,.065),rgba(255,248,237,.022))!important;
  border:1px solid rgba(201,166,107,.18)!important;
  border-radius:22px!important;
  box-shadow:0 18px 54px rgba(0,0,0,.34),inset 0 1px rgba(255,248,237,.07)!important;
  backdrop-filter:blur(16px)!important;
  position:relative!important;
}
.service-row:before,.backbone-card:before,.plan-card:before,.process-card:before,.value-card:before,.blog-card:before,.ccard:before,.enq-form:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(241,213,154,.10),transparent 42%);
  opacity:0;transition:opacity .35s ease;
}
.service-row:hover:before,.backbone-card:hover:before,.plan-card:hover:before,.process-card:hover:before,.value-card:hover:before,.blog-card:hover:before,.ccard:hover:before,.enq-form:hover:before{opacity:1;}
.service-row:hover,.backbone-card:hover,.plan-card:hover,.process-card:hover,.value-card:hover,.team-card:hover,.testi-card:hover,.blog-card:hover,.ccard:hover{
  transform:translateY(-6px)!important;border-color:rgba(241,213,154,.48)!important;box-shadow:0 24px 68px rgba(201,166,107,.13),inset 0 1px rgba(255,248,237,.10)!important;
}
.services-list-container,.backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics{gap:16px!important;}
.service-row{grid-template-columns:54px minmax(0,1fr) 44px!important;padding:20px 22px!important;gap:16px!important;}
.sr-num,.proc-num,.vc-num,.plan-badge,.step-badge,.check,.feat-check,.text-green{color:#e9c983!important;}
.sr-title{font-size:clamp(21px,2.25vw,29px)!important;line-height:1.12!important;}
.sr-desc{font-size:13.8px!important;line-height:1.65!important;color:#b8ad9e!important;}
.sr-tag{background:rgba(201,166,107,.09)!important;border:1px solid rgba(201,166,107,.18)!important;color:#e9c983!important;font-size:9.5px!important;}
.sr-btn{width:42px!important;height:42px!important;background:rgba(201,166,107,.10)!important;border-color:rgba(201,166,107,.24)!important;color:#e9c983!important;}
.backbone{background:radial-gradient(circle at 50% 0%,rgba(201,166,107,.08),transparent 32%),linear-gradient(180deg,#050608,#090806 55%,#050403)!important;}
.backbone-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.backbone-card,.plan-card,.process-card,.value-card,.team-card,.testi-card,.blog-card,.ccard{padding:22px 20px!important;}
.backbone-card{min-height:230px!important;}
.backbone-icon{width:34px!important;height:34px!important;margin-bottom:14px!important;color:#fff8ed!important;}
.backbone-card h3,.plan-card h3,.process-card h3,.value-card h3,.team-card h3,.testi-card h3,.blog-card h3,.ccard h3{font-size:clamp(17px,1.35vw,21px)!important;line-height:1.15!important;}
.backbone-card p,.plan-card p,.process-card p,.value-card p,.team-card p,.testi-card p,.blog-card p,.ccard p,.faq-a{font-size:13.2px!important;line-height:1.68!important;color:#b8ad9e!important;}
.marquee-track{background:#090704!important;border-color:rgba(201,166,107,.20)!important;}
.marquee-dot,.marquee-content span:nth-child(4n+2){color:#e9c983!important;}
input,select,textarea{background:rgba(255,248,237,.055)!important;border-color:rgba(201,166,107,.20)!important;color:#fff8ed!important;border-radius:15px!important;}
input:focus,select:focus,textarea:focus{border-color:#e9c983!important;box-shadow:0 0 0 4px rgba(201,166,107,.13)!important;}
.cta-banner{padding:62px 0!important;background:radial-gradient(circle at 50% 50%,rgba(201,166,107,.20),transparent 46%),#080604!important;border-color:rgba(201,166,107,.22)!important;}
.footer{background:#050403!important;border-top:1px solid rgba(201,166,107,.18)!important;padding:50px 0 86px!important;}
.footer *{color:#b8ad9e!important}.footer .logo-text,.footer h3,.footer h4{color:#fff8ed!important;}
/* bottom dock refined */
.floating-dock{
  width:min(560px,calc(100% - 24px))!important;height:64px!important;bottom:16px!important;padding:7px!important;gap:5px!important;
  background:rgba(9,7,5,.78)!important;border:1px solid rgba(201,166,107,.24)!important;
  box-shadow:0 18px 70px rgba(0,0,0,.68),inset 0 1px rgba(255,248,237,.08)!important;backdrop-filter:blur(22px)!important;
}
.floating-dock a{min-width:62px!important;height:49px!important;color:#a99d8e!important;}
.floating-dock span{font-size:16px!important}.floating-dock small{font-size:8.5px!important;}
.floating-dock a:hover,.floating-dock a.active{color:#e9c983!important;background:rgba(201,166,107,.10)!important;}
.floating-dock .dock-hot{background:linear-gradient(135deg,#f1d59a,#c9a66b,#8b642d)!important;color:#140d06!important;box-shadow:0 0 34px rgba(201,166,107,.36)!important;}
.ai-float{width:54px!important;height:54px!important;right:22px!important;bottom:18px!important;background:linear-gradient(135deg,#f1d59a,#c9a66b,#8b642d)!important;color:#140d06!important;box-shadow:0 0 38px rgba(201,166,107,.45)!important;}
.ai-float i{background:#7b4d1d!important;color:#fff8ed!important;}
@media(max-width:1180px){
  .container{width:calc(100% - 38px)!important;}
  .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.lh-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  body{padding-bottom:80px!important;}
  .container{width:calc(100% - 26px)!important;}
  .hero{min-height:auto!important;padding:54px 14px 48px!important;}
  .hero-title{font-size:clamp(29px,9.2vw,42px)!important;line-height:1.06!important;margin:17px auto 11px!important;}
  .hero-sub{font-size:13.4px!important;max-width:100%!important;}
  .hero-cta,.cta-btns,.form-nav{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:21px!important;}
  .btn,.hero-cta a,.cta-btns a,.form-nav button{width:100%!important;min-height:43px!important;font-size:10.5px!important;}
  .hero-stats{grid-template-columns:1fr!important;width:100%!important;margin-top:24px!important;}
  .stat{padding:12px!important;border-bottom:1px solid rgba(201,166,107,.13)!important}.stat:last-child{border-bottom:0!important;}
  .section{padding:50px 0!important;}
  .section-head{margin-bottom:22px!important;}
  .section-head h2,.ph-content h1{font-size:clamp(24px,7.6vw,33px)!important;}
  .section-sub,.ph-content p{font-size:13.3px!important;}
  .service-row{grid-template-columns:1fr!important;padding:18px 16px!important;gap:11px!important;}
  .sr-title{font-size:20px!important}.sr-desc{font-size:13px!important}.sr-btn{justify-self:start!important;}
  .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics,.ccard-grid,.form-row,.footer-inner{grid-template-columns:1fr!important;gap:13px!important;}
  .backbone-card,.plan-card,.process-card,.value-card,.team-card,.testi-card,.blog-card,.ccard,.info-box,.enq-form,.enq-info-card,.newsletter-card,.faq-item,.visibility-plan,.lighthouse-dashboard,.office-item{padding:18px 16px!important;border-radius:19px!important;}
  .backbone-card{min-height:auto!important;}
  .floating-dock{width:calc(100% - 10px)!important;height:58px!important;bottom:6px!important;padding:6px!important;gap:1px!important;}
  .floating-dock a{min-width:0!important;flex:1 1 0!important;height:46px!important;gap:2px!important;}
  .floating-dock span{font-size:14px!important}.floating-dock small{font-size:7px!important;}
  .floating-dock .dock-hot{flex:0 0 44px!important;width:44px!important;height:44px!important;}
  .ai-float{width:47px!important;height:47px!important;right:10px!important;bottom:70px!important;}
  .footer{padding-bottom:74px!important;}
}
@media(max-width:430px){
  .container{width:calc(100% - 20px)!important;}
  .hero{padding-top:42px!important;}
  .hero-title{font-size:28px!important;letter-spacing:-.045em!important;}
  .hero-sub{font-size:12.8px!important;}
  .section-head h2{font-size:24px!important;}
}

/* ============================================================
   FINAL FULL-WIDTH PREMIUM FIX
   User note: hero/sections should not look like a centered card.
   This removes old max-width/margins from hero and gives every
   section a proper edge-to-edge website feel while keeping content
   readable and premium.
   ============================================================ */
html,body{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  overflow-x:hidden!important;
  background:#050403!important;
}
body{
  background:
    radial-gradient(circle at 50% 0%,rgba(201,166,107,.16),transparent 34%),
    radial-gradient(circle at 18% 42%,rgba(120,82,35,.18),transparent 30%),
    radial-gradient(circle at 84% 55%,rgba(201,166,107,.10),transparent 34%),
    linear-gradient(180deg,#050403 0%,#0d0804 42%,#050403 100%)!important;
}
.hero,
.page-hero,
.section,
.featured,
.backbone,
.cta-banner,
.footer,
.marquee-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
.hero{
  min-height:100vh!important;
  padding:72px 24px 78px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-bottom:1px solid rgba(201,166,107,.18)!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(201,166,107,.24),transparent 36%),
    radial-gradient(circle at 18% 55%,rgba(98,60,22,.24),transparent 28%),
    radial-gradient(circle at 82% 38%,rgba(201,166,107,.13),transparent 28%),
    linear-gradient(180deg,#050403 0%,#100904 54%,#050403 100%)!important;
}
.hero-content{
  width:min(100%,960px)!important;
  max-width:960px!important;
  margin:0 auto!important;
}
.hero-title{
  font-size:clamp(34px,4.7vw,66px)!important;
  line-height:1.02!important;
  max-width:980px!important;
}
.hero-sub{max-width:760px!important;}
.hero-stats{max-width:560px!important;width:min(100%,560px)!important;}
.container{
  width:min(1360px,calc(100% - 56px))!important;
  max-width:1360px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.section{
  padding:80px 0!important;
  background:transparent!important;
}
.section-alt,.featured{
  background:
    radial-gradient(circle at 50% 0%,rgba(201,166,107,.08),transparent 32%),
    linear-gradient(180deg,rgba(255,248,237,.018),rgba(201,166,107,.04),rgba(255,248,237,.012))!important;
}
.backbone{
  padding:82px 0!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(201,166,107,.13),transparent 35%),
    radial-gradient(circle at 12% 65%,rgba(201,166,107,.07),transparent 28%),
    linear-gradient(180deg,#050608,#090806 55%,#050403)!important;
}
.backbone-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.backbone-card{
  min-height:250px!important;
}
.services-list-container,
.plans-grid,
.process-steps,
.values-grid,
.team-grid,
.testi-grid,
.contact-cards,
.blog-custom-grid,
.lh-metrics{
  width:100%!important;
}
.service-row{
  width:100%!important;
}
/* wider premium feeling for laptop/desktop */
@media(min-width:1181px){
  .services-list-container{max-width:1180px!important;margin-inline:auto!important;}
  .plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics{max-width:1220px!important;margin-inline:auto!important;}
}
@media(max-width:1180px){
  .container{width:calc(100% - 36px)!important;max-width:100%!important;}
  .hero{min-height:92vh!important;padding:68px 18px 70px!important;}
  .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.lh-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  .container{width:calc(100% - 24px)!important;}
  .hero{min-height:auto!important;padding:42px 14px 52px!important;}
  .hero-title{font-size:clamp(30px,10vw,44px)!important;line-height:1.05!important;}
  .section,.backbone{padding:54px 0!important;}
  .backbone-grid,.plans-grid,.process-steps,.values-grid,.team-grid,.testi-grid,.contact-cards,.blog-custom-grid,.lh-metrics{grid-template-columns:1fr!important;}
  .hero-stats{max-width:100%!important;}
}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner {
    padding: 80px 0;
    text-align: center;
}

.cta-box {
    max-width: 800px;
    margin: 0 auto;
}

.cta-box h2 {
    font-size: 2.8rem;
    color: var(--white);
    margin-bottom: 16px;
    font-weight: 700;
}

.cta-box p {
    font-size: 1.1rem;
    color: var(--text2);
    margin-bottom: 40px;
    line-height: 1.6;
}

.cta-buttons {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-buttons .btn {
    padding: 16px 40px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .cta-banner {
        padding: 60px 0;
    }

    .cta-box h2 {
        font-size: 2rem;
    }

    .cta-box p {
        font-size: 1rem;
    }

    .cta-buttons {
        flex-direction: column;
    }

    .cta-buttons .btn {
        width: 100%;
    }
}

