/* ═══════════════════════════════════════════════════════════════ Lucid-X Technologies — Shared Styles Used by: web-design.html, business-app.html, sheets.html ═══════════════════════════════════════════════════════════════ */ :root { --blue: #2676FF; --magenta: #E14BEC; --green: #17C274; --teal: #00C9A7; --gray: #6B7280; --white: #FFFFFF; --bg: #080B14; --card-bg: rgba(255,255,255,0.04); --card-border: rgba(255,255,255,0.07); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body { background: var(--bg); color: var(--white); font-family: 'DM Sans', sans-serif; overflow-x: hidden; scroll-behavior: smooth; } /* ── Background ── */ .bg-grid { position: fixed; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(38,118,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(38,118,255,0.04) 1px, transparent 1px); background-size: 60px 60px; } .glow { position: fixed; border-radius: 50%; pointer-events: none; z-index: 0; } .glow-blue { width:700px;height:700px;top:-200px;left:-200px;background:radial-gradient(circle,rgba(38,118,255,0.14) 0%,transparent 70%); } .glow-teal { width:500px;height:500px;bottom:-100px;right:-100px;background:radial-gradient(circle,rgba(0,201,167,0.1) 0%,transparent 70%); } .glow-mage { width:700px;height:700px;top:-200px;right:-200px;background:radial-gradient(circle,rgba(225,75,236,0.12) 0%,transparent 70%); } .glow-green { width:600px;height:600px;bottom:-100px;left:-100px;background:radial-gradient(circle,rgba(23,194,116,0.1) 0%,transparent 70%); } /* ── Header ── */ header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 18px 40px; display: flex; align-items: center; justify-content: space-between; background: rgba(8,11,20,0.88); backdrop-filter: blur(16px); border-bottom: 1px solid var(--card-border); } .logo-header a { display: inline-block; } .logo-header img { height: 44px; width: auto; mix-blend-mode: screen; } .header-nav { display: flex; gap: 28px; align-items: center; } .header-nav a { text-decoration: none; color: var(--gray); font-size: 14px; transition: color 0.2s; font-family: 'DM Sans', sans-serif; } .header-nav a:hover { color: var(--white); } .nav-cta { background: linear-gradient(135deg, var(--blue), var(--teal)); color: white !important; padding: 8px 20px; border-radius: 20px; font-weight: 500; } .nav-burger { display: none; background: var(--card-bg); border: 1px solid var(--card-border); color: var(--white); font-size: 20px; padding: 6px 12px; border-radius: 8px; cursor: pointer; } /* ── Service Hero ── */ .service-hero { position: relative; z-index: 1; padding: 140px 40px 80px; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: center; } .service-breadcrumb { display: flex; align-items: center; gap: 8px; color: var(--gray); font-size: 13px; margin-bottom: 20px; } .service-breadcrumb a { color: var(--gray); text-decoration: none; } .service-breadcrumb a:hover { color: var(--white); } .service-breadcrumb span { opacity: 0.4; } .service-tag { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,0.15); border-radius: 100px; padding: 6px 18px; font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tag-color, var(--teal)); background: var(--tag-bg, rgba(0,201,167,0.08)); margin-bottom: 24px; display: inline-flex; } .tag-dot { width: 7px; height: 7px; border-radius: 50%; animation: pulse 2s ease-in-out infinite; flex-shrink: 0; } .service-title { font-family: 'Syne', sans-serif; font-size: clamp(2rem, 4.5vw, 3.6rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 20px; } .grad { background: linear-gradient(135deg, var(--g1, var(--blue)), var(--g2, var(--teal))); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .service-sub { color: var(--gray); font-size: 16px; line-height: 1.75; max-width: 520px; margin-bottom: 36px; } .cta-btn { display: inline-block; background: linear-gradient(135deg, var(--btn-g1, var(--blue)), var(--btn-g2, var(--teal))); color: white; text-decoration: none; padding: 14px 32px; border-radius: 12px; font-family: 'Syne', sans-serif; font-size: 15px; font-weight: 700; transition: opacity 0.2s, transform 0.2s; } .cta-btn:hover { opacity: 0.9; transform: translateY(-2px); } .service-hero-visual { display: flex; align-items: center; justify-content: center; } .visual-orb { width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--orb-color1, rgba(38,118,255,0.2)), var(--orb-color2, rgba(8,11,20,0.8)) 70%); border: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; justify-content: center; animation: float 6s ease-in-out infinite; box-shadow: 0 0 80px var(--orb-color1, rgba(38,118,255,0.15)); } @keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);} } /* ── Sections ── */ .offers-section, .process-section, .enquiry-section { position: relative; z-index: 1; padding: 80px 40px; } .offers-section { background: rgba(255,255,255,0.015); border-top: 1px solid var(--card-border); border-bottom: 1px solid var(--card-border); } .enquiry-section { background: rgba(38,118,255,0.03); border-top: 1px solid var(--card-border); } .section-inner { max-width: 1100px; margin: 0 auto; } .section-label { font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray); margin-bottom: 12px; } .section-heading { font-family: 'Syne', sans-serif; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 48px; color: var(--white); } .section-sub { color: var(--gray); font-size: 15px; line-height: 1.7; margin-bottom: 40px; } /* ── Offers Grid ── */ .offers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; } .offer-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 20px; padding: 28px; position: relative; overflow: hidden; transition: all 0.3s; } .offer-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--offer-color, var(--blue)); transform: scaleX(0); transform-origin: left; transition: transform 0.3s; opacity: 0.6; } .offer-card:hover { border-color: var(--offer-color, var(--blue)); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.4); } .offer-card:hover::after { transform: scaleX(1); } .offer-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; border: 1px solid; margin-bottom: 18px; } .offer-card h3 { font-family: 'Syne', sans-serif; font-size: 17px; font-weight: 700; margin-bottom: 10px; color: var(--white); } .offer-card p { color: var(--gray); font-size: 14px; line-height: 1.7; margin-bottom: 16px; } .offer-list { list-style: none; padding: 0; } .offer-list li { color: var(--gray); font-size: 13px; padding: 5px 0; padding-left: 18px; position: relative; } .offer-list li::before { content: '→'; position: absolute; left: 0; color: var(--offer-color, var(--blue)); font-size: 11px; } /* ── Process Steps ── */ .process-steps { display: flex; align-items: flex-start; gap: 16px; flex-wrap: wrap; } .process-step { flex: 1; min-width: 160px; } .step-num { font-family: 'Syne', sans-serif; font-size: 28px; font-weight: 800; color: var(--sn-color, var(--blue)); margin-bottom: 12px; display: block; } .process-step h4 { font-family: 'Syne', sans-serif; font-size: 15px; font-weight: 700; color: var(--white); margin-bottom: 8px; } .process-step p { color: var(--gray); font-size: 13px; line-height: 1.65; } .process-arrow { color: rgba(255,255,255,0.2); font-size: 24px; padding-top: 30px; flex-shrink: 0; } /* ── Enquiry Form ── */ .enquiry-form { display: flex; flex-direction: column; gap: 0; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; font-size: 13px; color: var(--gray); margin-bottom: 8px; font-weight: 500; } .form-group input, .form-group select, .form-group textarea { width: 100%; background: rgba(255,255,255,0.05); border: 1px solid var(--card-border); border-radius: 10px; padding: 12px 16px; color: white; font-family: 'DM Sans', sans-serif; font-size: 15px; outline: none; transition: border-color 0.2s; -webkit-appearance: none; } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--blue); } .form-group input::placeholder, .form-group textarea::placeholder { color: var(--gray); } .form-group select option { background: #111827; color: white; } .form-group textarea { resize: vertical; min-height: 120px; } .checkbox-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; } .check-label { display: flex; align-items: center; gap: 10px; color: var(--gray); font-size: 13px; cursor: pointer; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 8px; padding: 10px 12px; transition: all 0.18s; user-select: none; position: relative; } .check-label:hover { border-color: rgba(255,255,255,0.25); color: var(--white); background: rgba(255,255,255,0.06); } /* Selected state — highlights when checkbox is checked */ .check-label:has(input:checked) { background: rgba(0,201,167,0.08); border-color: var(--teal); color: var(--white); } /* Custom checkbox box */ .check-label input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; flex-shrink: 0; border: 1.5px solid rgba(255,255,255,0.2); border-radius: 4px; background: transparent; cursor: pointer; transition: all 0.18s; position: relative; } .check-label input[type="checkbox"]:checked { background: var(--teal); border-color: var(--teal); } /* Tick mark */ .check-label input[type="checkbox"]:checked::after { content: ''; position: absolute; left: 3px; top: 1px; width: 8px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); } .form-submit { padding: 14px; background: linear-gradient(135deg, var(--btn-g1, var(--blue)), var(--btn-g2, var(--teal))); border: none; border-radius: 12px; color: white; font-family: 'Syne', sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; transition: opacity 0.2s, transform 0.2s; width: 100%; } .form-submit:hover { opacity: 0.9; transform: translateY(-1px); } .form-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; } .form-status { margin-top: 16px; text-align: center; font-size: 14px; line-height: 1.6; display: none; } .form-status.success { display: block; color: var(--green); } .form-status.error { display: block; color: #ff6b6b; } /* ── Footer ── */ .site-footer { position: relative; z-index: 1; background: rgba(4,6,12,0.95); border-top: 1px solid var(--card-border); padding: 60px 40px 0; margin-top: 0; } .footer-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid var(--card-border); } .footer-brand img { height: 48px; mix-blend-mode: screen; margin-bottom: 16px; display: block; } .footer-brand p { color: var(--gray); font-size: 14px; line-height: 1.7; max-width: 260px; } .footer-col h4 { font-family: 'Syne', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); margin-bottom: 20px; } .footer-col a { display: block; color: var(--gray); text-decoration: none; font-size: 14px; margin-bottom: 12px; transition: color 0.2s; } .footer-col a:hover { color: var(--white); } .footer-contact-item { display: flex; align-items: center; gap: 10px; color: var(--gray); font-size: 14px; margin-bottom: 14px; text-decoration: none; transition: color 0.2s; } .footer-contact-item:hover { color: var(--white); } .f-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; } .footer-bottom { max-width: 1100px; margin: 0 auto; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; } .footer-bottom p { color: var(--gray); font-size: 13px; } .footer-bottom .brand { font-family: 'Syne', sans-serif; font-weight: 700; background: linear-gradient(90deg, var(--blue), var(--teal)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* ── Animations ── */ @keyframes pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.5;transform:scale(0.8);} } /* ── Responsive ── */ @media (max-width: 900px) { .service-hero { grid-template-columns: 1fr; gap: 40px; } .service-hero-visual { order: -1; } .visual-orb { width: 200px; height: 200px; } .visual-orb span { font-size: 3.5rem !important; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .footer-grid .footer-brand { grid-column: 1/-1; } } @media (max-width: 700px) { header { padding: 14px 20px; } .header-nav { display: none; } .nav-burger { display: block; } .service-hero { padding: 110px 20px 50px; } .offers-section, .process-section, .enquiry-section { padding: 50px 20px; } .offers-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } .checkbox-group { grid-template-columns: 1fr; } .process-arrow { display: none; } .footer-grid { grid-template-columns: 1fr; } .site-footer { padding: 40px 20px 0; } .footer-bottom { flex-direction: column; text-align: center; } } /* Mobile nav overlay */ .mobile-nav { display: none; position: fixed; inset: 0; z-index: 200; background: rgba(8,11,20,0.98); backdrop-filter: blur(20px); flex-direction: column; align-items: center; justify-content: center; gap: 30px; } .mobile-nav.active { display: flex; } .mobile-nav a { color: var(--white); text-decoration: none; font-family: 'Syne', sans-serif; font-size: 24px; font-weight: 700; } .mobile-nav-close { position: absolute; top: 20px; right: 20px; background: var(--card-bg); border: 1px solid var(--card-border); color: var(--white); font-size: 20px; padding: 8px 14px; border-radius: 8px; cursor: pointer; }