/* ============================================================ ROMFAST — Modern theme (2025 redesign) Dark by default (Variant 2). Toggle adds `body.light-mode` for the light Variant 3 palette. Token-driven so the whole site (nav, footer, cards, hero) follows from these variables. ============================================================ */ @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap'); /* ---------- DARK palette (default · Variant 2 Modern) ---------- */ :root { --font-sans: 'Plus Jakarta Sans', 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --font-body: 'Manrope', 'Plus Jakarta Sans', -apple-system, sans-serif; --font-display: 'Plus Jakarta Sans', sans-serif; --font-mark: 'Space Grotesk', sans-serif; /* Surfaces & text */ --bg: #13203a; --bg-soft: #16233c; --surface: #1b2c48; --surface-2: #223a5c; --text: #ffffff; --text-secondary: #aeb9cd; --text-muted: #93a1bb; --text-faint: #5d77a4; /* Brand */ --primary: #7db0ee; /* accent blue on dark */ --primary-strong: #2c63a8; /* solid blue */ --primary-ink: #16233c; /* text on a white/primary button */ --accent: #e2554f; /* red */ --accent-soft: #ef6b66; --brand-rom: #e2554f; /* wordmark "ROM" (unused — logo is image) */ --brand-fast: #6fa3e0; /* wordmark "FAST" */ /* Lines / chrome */ --border: rgba(255, 255, 255, 0.09); --border-strong: rgba(255, 255, 255, 0.16); --border-primary: rgba(125, 176, 238, 0.5); --nav-bg: rgba(19, 32, 58, 0.78); --nav-border: rgba(255, 255, 255, 0.08); --footer-bg: #111a2e; --footer-text: #aeb8cb; --footer-muted: #6b778f; /* Hero */ --hero-bg: transparent; --hero-glow: radial-gradient(1000px 460px at 50% -8%, rgba(98, 150, 220, 0.30), transparent 70%); /* Pills / soft fills */ --pill-bg: rgba(255, 255, 255, 0.08); --pill-border: rgba(255, 255, 255, 0.16); --pill-text: #bcd2f0; --icon-soft-bg: rgba(125, 176, 238, 0.14); --icon-accent-bg: rgba(226, 85, 79, 0.16); /* Buttons */ --btn-primary-bg: #ffffff; --btn-primary-text: #16233c; --btn-primary-bg-hover: #e6eefb; --btn-ghost-bg: rgba(255, 255, 255, 0.08); --btn-ghost-border: rgba(255, 255, 255, 0.20); --btn-ghost-bg-hover: rgba(255, 255, 255, 0.16); /* Radius */ --radius-sm: 9px; --radius: 14px; --radius-lg: 18px; --radius-xl: 20px; --radius-pill: 999px; --shadow-card: 0 18px 40px -22px rgba(0, 0, 0, 0.55); --ease: cubic-bezier(.16, .84, .44, 1); } /* ---------- LIGHT palette (toggle · Variant 3 Modern Light) ---------- */ body.light-mode { --bg: #ffffff; --bg-soft: #f7f9fc; --surface: #ffffff; --surface-2: #f4f8fd; --text: #16203a; --text-secondary: #54607a; --text-muted: #69748a; --text-faint: #b9c5d8; --primary: #2c63a8; --primary-strong: #2c63a8; --primary-ink: #ffffff; --accent: #cf3a36; --accent-soft: #cf3a36; --border: #e7eefa; --border-strong: #d3e1f2; --border-primary: #2c63a8; --nav-bg: rgba(255, 255, 255, 0.82); --nav-border: #eef1f6; /* footer stays dark in both modes (per mockup) */ --hero-bg: linear-gradient(180deg, #d4e4fb 0%, #e8f1fc 44%, #ffffff 100%); --hero-glow: radial-gradient(1100px 500px at 50% -12%, rgba(44, 99, 168, 0.24), transparent 66%); --pill-bg: #ffffff; --pill-border: #d3e1f2; --pill-text: #2c63a8; --icon-soft-bg: #eef4fd; --icon-accent-bg: #fdeeed; --btn-primary-bg: #2c63a8; --btn-primary-text: #ffffff; --btn-primary-bg-hover: #1d4677; --btn-ghost-bg: #ffffff; --btn-ghost-border: #dbe5f1; --btn-ghost-bg-hover: #ffffff; --shadow-card: 0 18px 40px -22px rgba(22, 32, 58, 0.45); } /* ============================================================ Base ============================================================ */ * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } body { font-family: var(--font-body) !important; background: var(--bg) !important; color: var(--text) !important; line-height: 1.6 !important; -webkit-font-smoothing: antialiased; transition: background 0.3s ease, color 0.3s ease; } ::selection { background: var(--primary-strong); color: #fff; } a { text-decoration: none; } h1, h2, h3, h4 { font-family: var(--font-display) !important; color: var(--text) !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; font-weight: 800 !important; } .professional-text-primary { color: var(--text) !important; } .professional-text-secondary { color: var(--text-secondary) !important; } .professional-text-muted { color: var(--text-muted) !important; } /* Eyebrow / kicker label */ .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--primary); } /* ============================================================ Wordmark (logo image kept; this styles any text fallback) ============================================================ */ .romfast-wordmark { font-family: var(--font-mark); font-weight: 700; font-style: italic; letter-spacing: -0.5px; font-size: 22px; } .romfast-wordmark .rom { color: var(--brand-rom); } .romfast-wordmark .fast { color: var(--brand-fast); } .romfast-logo { height: 60px !important; width: auto; filter: brightness(1.05) contrast(1.05); } .brand-tagline { font-size: 12px; color: var(--text-muted); font-style: italic; } /* ============================================================ Navbar — sticky, blurred ============================================================ */ .professional-navbar { background: var(--nav-bg) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px) !important; border-bottom: 1px solid var(--nav-border) !important; } .nav-link { font-size: 14px; font-weight: 600; color: var(--text-secondary) !important; transition: color 0.2s ease !important; } .nav-link:hover { color: var(--text) !important; } /* Contact pill in nav */ .nav-cta { font-size: 14px; font-weight: 700; color: var(--btn-primary-text) !important; background: var(--btn-primary-bg); padding: 9px 18px; border-radius: var(--radius-sm); transition: background 0.2s ease; } .nav-cta:hover { background: var(--btn-primary-bg-hover); color: var(--btn-primary-text) !important; } /* Theme toggle button */ #theme-toggle { color: var(--text-secondary); border-radius: var(--radius-sm); transition: color 0.2s, background 0.2s; } #theme-toggle:hover { color: var(--text); } /* Dropdown menu (Servicii) */ .nav-dropdown { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.5); } .nav-dropdown a { color: var(--text-secondary); font-size: 14px; font-weight: 600; } .nav-dropdown a:hover { background: var(--surface-2); color: var(--text); } /* ============================================================ Hero ============================================================ */ .professional-hero { position: relative !important; overflow: hidden !important; background: var(--hero-bg) !important; border: none !important; border-radius: 0 !important; padding: 84px 24px 70px !important; margin: 0 !important; } .professional-hero::before { content: '' !important; position: absolute !important; inset: 0 !important; background: var(--hero-glow) !important; pointer-events: none !important; animation: none !important; width: auto !important; height: auto !important; top: 0 !important; left: 0 !important; opacity: 1 !important; } .professional-hero > * { position: relative; z-index: 1; } .hero-title { font-weight: 800; font-size: clamp(34px, 6vw, 56px); line-height: 1.08; letter-spacing: -1.4px; color: var(--text); max-width: 860px; margin: 24px auto 0; } .hero-title .accent { color: var(--primary); } .hero-sub { font-size: 18px; line-height: 1.6; color: var(--text-secondary); max-width: 630px; margin: 22px auto 0; } .hero-sub strong { color: var(--text); } /* ============================================================ Pill badge ============================================================ */ .pill-badge { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--pill-text); background: var(--pill-bg); border: 1px solid var(--pill-border); padding: 8px 18px; border-radius: var(--radius-pill); } /* ============================================================ Buttons ============================================================ */ .professional-btn-primary, .btn-solid { background: var(--btn-primary-bg) !important; color: var(--btn-primary-text) !important; border: none !important; border-radius: 12px !important; font-weight: 700 !important; font-size: 16px !important; padding: 15px 30px !important; display: inline-block !important; text-decoration: none !important; transition: background 0.2s ease, opacity 0.2s ease !important; } .professional-btn-primary:hover, .btn-solid:hover { background: var(--btn-primary-bg-hover) !important; opacity: 1 !important; } .professional-btn-secondary, .btn-ghost { background: var(--btn-ghost-bg) !important; color: var(--text) !important; border: 1px solid var(--btn-ghost-border) !important; border-radius: 12px !important; font-weight: 700 !important; font-size: 16px !important; padding: 15px 26px !important; display: inline-block !important; text-decoration: none !important; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important; } .professional-btn-secondary:hover, .btn-ghost:hover { background: var(--btn-ghost-bg-hover) !important; border-color: var(--primary-strong) !important; color: var(--primary) !important; } .professional-btn-urgent { background: var(--accent) !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-weight: 700 !important; padding: 14px 26px !important; display: inline-block !important; text-decoration: none !important; } .professional-btn-urgent:hover { opacity: 0.92 !important; } /* small inline link */ .link-arrow { font-size: 15px; font-weight: 700; color: var(--primary); } .link-arrow:hover { color: var(--text); } /* ============================================================ Cards ============================================================ */ .professional-card { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; box-shadow: none !important; transition: border-color 0.25s ease, box-shadow 0.25s ease !important; transform: none !important; } .professional-card:hover { border-color: var(--border-primary) !important; box-shadow: var(--shadow-card) !important; transform: none !important; } /* Feature card (3 differentiators) */ .feature-card { display: flex; gap: 16px; align-items: flex-start; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px 24px; transition: border-color 0.25s ease, box-shadow 0.25s ease; } .feature-card:hover { border-color: var(--border-primary); box-shadow: var(--shadow-card); } .feature-card.is-accent { border-color: color-mix(in srgb, var(--accent) 35%, transparent); } .feature-card.is-accent:hover { border-color: var(--accent); } .feature-icon { flex-shrink: 0; width: 46px; height: 46px; border-radius: 13px; background: var(--icon-soft-bg); display: flex; align-items: center; justify-content: center; } .feature-icon.is-accent { background: var(--icon-accent-bg); } .feature-title { font-weight: 800; font-size: 18px; color: var(--text); letter-spacing: -0.4px; } .feature-desc { font-size: 14px; line-height: 1.55; color: var(--text-secondary); } /* Featured (red) card kept for subpages */ .professional-card-featured { background: var(--surface) !important; border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent) !important; border-radius: var(--radius-lg) !important; transition: border-color 0.25s ease !important; transform: none !important; } .professional-card-featured:hover { border-color: var(--accent) !important; transform: none !important; } /* ============================================================ Module grid (Module ROA) ============================================================ */ .module-grid { background: var(--border); border: 1px solid var(--border); border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-card); display: grid; grid-template-columns: 1fr 1fr; gap: 1px; } .module-row { display: grid; grid-template-columns: 38px 1fr 22px; align-items: center; gap: 16px; background: var(--surface); padding: 18px 24px; transition: background 0.2s ease; } .module-row:hover { background: var(--surface-2); } .module-num { font-family: var(--font-mark); font-weight: 600; font-size: 18px; color: var(--text-faint); } .module-name { font-size: 16px; font-weight: 700; color: var(--text); letter-spacing: -0.2px; } .module-desc { font-size: 13px; line-height: 1.45; color: var(--text-muted); } .module-arrow { font-size: 16px; color: var(--primary); text-align: right; } @media (max-width: 720px) { .module-grid { grid-template-columns: 1fr; } } /* ============================================================ Support section ============================================================ */ .professional-support { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 28px 24px 12px !important; } .professional-support-card { background: var(--surface-2) !important; border: 1px solid var(--border-strong) !important; border-radius: var(--radius) !important; padding: 24px 26px !important; transition: border-color 0.2s ease, background 0.2s ease !important; } .professional-support-card:hover { border-color: var(--border-primary) !important; } /* ============================================================ Footer (dark in both modes) ============================================================ */ .site-footer { background: var(--footer-bg) !important; color: var(--footer-text) !important; } .site-footer a { color: var(--footer-text); transition: color 0.2s ease; } .site-footer a:hover { color: #fff; } .site-footer .footer-heading { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #5f6c84; } .site-footer .footer-muted { color: var(--footer-muted); } .site-footer .footer-divider { border-color: rgba(255, 255, 255, 0.09); } /* ============================================================ Service accent blocks (subpages) ============================================================ */ .service-technology { background: color-mix(in srgb, var(--primary-strong) 8%, transparent) !important; border-left: 4px solid var(--primary) !important; padding: 1.5rem !important; border-radius: var(--radius-sm) !important; } .service-reliability { background: color-mix(in srgb, var(--primary-strong) 6%, transparent) !important; border-left: 4px solid var(--primary-strong) !important; padding: 1.5rem !important; border-radius: var(--radius-sm) !important; } .red-bullet { color: var(--accent) !important; } .professional-icon-wrapper { width: 64px !important; height: 64px !important; background: var(--icon-soft-bg) !important; border-radius: var(--radius) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 1.25rem auto !important; } /* ============================================================ Scroll-reveal ============================================================ */ [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); } [data-reveal].is-visible { opacity: 1; transform: none; } /* ============================================================ Dark-mode remap of Tailwind light utilities in page content. Active ONLY in the default dark theme; in .light-mode the original Tailwind colors are kept (they read fine on white). Scoped to main/footer content so nav chrome is untouched. ============================================================ */ body:not(.light-mode) main .bg-white, body:not(.light-mode) main .bg-gray-50, body:not(.light-mode) main .bg-gray-100, body:not(.light-mode) main .bg-slate-50 { background-color: var(--surface) !important; } body:not(.light-mode) main .bg-blue-50, body:not(.light-mode) main .bg-indigo-50 { background-color: rgba(125, 176, 238, 0.10) !important; } body:not(.light-mode) main .bg-green-50, body:not(.light-mode) main .bg-emerald-50, body:not(.light-mode) main .bg-teal-50 { background-color: rgba(110, 200, 150, 0.10) !important; } body:not(.light-mode) main .bg-yellow-50, body:not(.light-mode) main .bg-amber-50, body:not(.light-mode) main .bg-orange-50 { background-color: rgba(224, 180, 110, 0.10) !important; } body:not(.light-mode) main .bg-red-50, body:not(.light-mode) main .bg-rose-50 { background-color: rgba(226, 85, 79, 0.10) !important; } body:not(.light-mode) main .border-gray-200, body:not(.light-mode) main .border-gray-300, body:not(.light-mode) main .border-slate-200 { border-color: var(--border) !important; } body:not(.light-mode) main .border-blue-200, body:not(.light-mode) main .border-indigo-200 { border-color: rgba(125, 176, 238, 0.28) !important; } body:not(.light-mode) main .border-green-200, body:not(.light-mode) main .border-emerald-200 { border-color: rgba(110, 200, 150, 0.28) !important; } body:not(.light-mode) main .border-yellow-200, body:not(.light-mode) main .border-amber-200 { border-color: rgba(224, 180, 110, 0.30) !important; } body:not(.light-mode) main .border-red-200, body:not(.light-mode) main .border-rose-200 { border-color: rgba(226, 85, 79, 0.30) !important; } body:not(.light-mode) main .text-gray-900, body:not(.light-mode) main .text-gray-800, body:not(.light-mode) main .text-slate-900, body:not(.light-mode) main .text-slate-800 { color: var(--text) !important; } body:not(.light-mode) main .text-gray-700, body:not(.light-mode) main .text-gray-600, body:not(.light-mode) main .text-gray-500, body:not(.light-mode) main .text-slate-700, body:not(.light-mode) main .text-slate-600 { color: var(--text-secondary) !important; } /* ============================================================ Responsive ============================================================ */ @media (max-width: 768px) { .professional-hero { padding: 56px 18px 48px !important; } .professional-support { padding: 44px 18px 18px !important; } }