/* RMJ SOFTWARE LLC corporate website styles */
:root { --navy:#07162f; --navy-deep:#030b1b; --blue:#377df5; --blue-soft:#dceaff; --gold:#c9a45c; --ink:#11203a; --muted:#61708a; --line:#dce3ee; --surface:#f7f9fc; --white:#fff; --shadow:0 24px 60px rgba(4, 22, 54, .12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.container { width:min(1160px, calc(100% - 48px)); margin:0 auto; }
.section { padding:clamp(76px, 10vw, 132px) 0; }
.skip-link { position:absolute; left:16px; top:-48px; z-index:10; padding:10px 14px; color:var(--navy); background:var(--white); border-radius:8px; }
.skip-link:focus { top:16px; }
.site-header { position:absolute; z-index:3; width:100%; color:var(--white); }
.inner-header { position:relative; color:var(--navy); background:var(--white); border-bottom:1px solid var(--line); }.inner-header .wordmark small { color:#71809a; }.inner-header .wordmark-mark { color:var(--white); background:var(--navy); }.inner-header .primary-nav a { color:#53617a; }.inner-header .primary-nav a:hover,.inner-header .primary-nav a:focus-visible,.inner-header .primary-nav a[aria-current="page"] { color:var(--navy); }
.nav-wrap { display:flex; min-height:86px; align-items:center; justify-content:space-between; gap:24px; }
.wordmark { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:.84rem; font-weight:700; letter-spacing:.12em; }
.wordmark strong { font-weight:400; }.wordmark small { display:block; margin-top:1px; font-size:.53rem; letter-spacing:.27em; color:#aebed9; }
.wordmark-mark { display:grid; width:34px; height:34px; place-items:center; color:var(--navy); background:linear-gradient(135deg, #fff, #a4c6ff); border-radius:9px; font-size:1.2rem; font-weight:800; letter-spacing:0; }
.primary-nav { display:flex; align-items:center; gap:28px; }.primary-nav a { color:#d9e5fa; text-decoration:none; font-size:.9rem; }.primary-nav a:hover, .primary-nav a:focus-visible { color:var(--white); }
.hero { position:relative; min-height:750px; overflow:hidden; color:var(--white); background:radial-gradient(circle at 78% 55%, #164794 0, transparent 24%), linear-gradient(120deg, #030a19 4%, var(--navy) 60%, #0b285d); }
.page-hero { padding:clamp(78px, 11vw, 142px) 0; color:var(--white); background:radial-gradient(circle at 82% 20%, rgba(45,117,245,.45), transparent 30%), linear-gradient(125deg, #030a19, var(--navy)); }.page-hero h1 { max-width:800px; margin-bottom:20px; font-size:clamp(3rem, 6vw, 5.6rem); }.page-hero > .container > p:last-child { max-width:600px; margin-bottom:0; color:#c6d5ed; font-size:1.1rem; line-height:1.7; }
.hero::after { position:absolute; inset:0; content:""; background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg, #000, transparent 82%); }
.hero-layout { position:relative; z-index:1; display:grid; min-height:750px; grid-template-columns:1.05fr .95fr; align-items:center; }
.hero-copy { max-width:710px; }.eyebrow { margin:0 0 18px; color:var(--gold); font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }h1,h2,h3 { font-weight:650; letter-spacing:-.045em; }h1 { max-width:740px; margin-bottom:24px; font-size:clamp(3.25rem, 6.7vw, 6.2rem); line-height:.96; }h1 span { color:#a9cbff; }h2 { max-width:680px; margin-bottom:0; font-size:clamp(2.2rem, 4vw, 3.65rem); line-height:1.04; }.lead { max-width:590px; margin-bottom:34px; color:#c6d5ed; font-size:1.12rem; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:10px; padding:0 21px; border:1px solid transparent; border-radius:9px; font-weight:700; text-decoration:none; transition:transform .2s ease, background .2s ease; }.button:hover { transform:translateY(-2px); }.button-primary { color:#07162f; background:var(--white); }.button-secondary { color:var(--white); border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.06); }
.hero-art { position:relative; min-height:420px; }.orbital-grid { position:absolute; inset:40px 0 0 45px; border:1px solid rgba(183,213,255,.25); border-radius:50%; transform:perspective(700px) rotateY(-20deg) rotateX(60deg); }.signal { position:absolute; border-radius:50%; border:1px solid rgba(140,188,255,.35); }.signal-one { width:360px; height:360px; right:30px; top:12px; }.signal-two { width:240px; height:240px; right:90px; top:72px; border-color:rgba(201,164,92,.4); }.hero-card { position:absolute; border:1px solid rgba(211,231,255,.26); background:linear-gradient(145deg, rgba(230,241,255,.16), rgba(36,85,158,.12)); box-shadow:0 25px 60px rgba(0,0,0,.22); backdrop-filter:blur(16px); }.hero-card-main { display:flex; width:285px; height:187px; left:78px; top:103px; flex-direction:column; gap:16px; padding:25px; border-radius:16px; transform:rotate(-7deg); }.card-dot { width:12px; height:12px; border-radius:50%; background:var(--gold); }.card-line { display:block; width:68%; height:7px; border-radius:10px; background:rgba(218,234,255,.38); }.card-line.long { width:100%; }.card-line.short { width:43%; }.hero-card-side { display:flex; width:160px; height:175px; right:40px; bottom:24px; flex-direction:column; gap:13px; padding:22px; border-radius:14px; transform:rotate(10deg); color:#c3dcff; font-size:.78rem; letter-spacing:.18em; }.hero-card-side i { display:block; height:1px; background:rgba(218,234,255,.46); }
.intro-section { background:var(--surface); }.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px, 9vw, 130px); }.copy-block { max-width:520px; padding-top:11px; color:var(--muted); font-size:1.08rem; line-height:1.75; }.copy-block p + p { margin-top:20px; }
.home-overview { background:var(--surface); }
.section-heading { max-width:730px; margin-bottom:43px; }.section-heading > p:not(.eyebrow) { margin:18px 0 0; color:var(--muted); line-height:1.65; }.product-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }.product-card { display:flex; overflow:hidden; flex-direction:column; min-height:510px; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 12px 30px rgba(9,34,76,.05); transition:transform .25s ease, box-shadow .25s ease; }.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.product-visual { display:grid; min-height:206px; place-items:center; padding:30px; }.coachhq-visual { background:radial-gradient(circle at center, rgba(73,129,254,.34), transparent 58%), linear-gradient(135deg, #061a3c, #0d397f); }.coachhq-visual img { width:min(100%, 250px); height:auto; filter:drop-shadow(0 12px 20px rgba(0,0,0,.25)); }.icon-visual { position:relative; overflow:hidden; background:linear-gradient(135deg, #f0f5fe, #dbe8fa); }.icon-visual::after { position:absolute; width:270px; height:270px; content:""; border:1px solid rgba(51,113,218,.16); border-radius:50%; }.icon-visual img { position:relative; z-index:1; width:132px; height:132px; border-radius:27%; box-shadow:0 15px 29px rgba(18,50,101,.18); }.alera-visual { background:linear-gradient(135deg, #edf4f6, #d7ebe9); }.alera-visual::after { border-color:rgba(58,136,124,.18); }.product-content { display:flex; flex:1; flex-direction:column; padding:28px; }.product-type { margin-bottom:13px; color:#71809a; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.product-content h3 { margin-bottom:13px; font-size:1.72rem; }.product-content > p:not(.product-type) { color:var(--muted); line-height:1.62; }.product-link,.product-status { margin-top:auto; padding-top:20px; font-size:.9rem; font-weight:750; }.product-link { color:#1454c1; text-decoration:none; }.product-link:hover { text-decoration:underline; }.product-status { color:#65738b; }
.philosophy-section { color:var(--white); background:var(--navy-deep); }.narrow-heading { margin-bottom:45px; }.principle-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.17); }.principle-grid article { min-height:230px; padding:28px 26px 20px; border-right:1px solid rgba(255,255,255,.17); }.principle-grid article:first-child { border-left:1px solid rgba(255,255,255,.17); }.principle-number { color:var(--gold); font-size:.73rem; font-weight:800; letter-spacing:.14em; }.principle-grid h3 { margin:45px 0 11px; font-size:1.1rem; letter-spacing:-.025em; }.principle-grid p { margin:0; color:#aebbd0; font-size:.94rem; line-height:1.58; }
.contact-section { background:var(--surface); }.contact-card { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:clamp(32px, 6vw, 66px); color:var(--white); border-radius:18px; background:linear-gradient(120deg, #0b2148, #12468d); box-shadow:var(--shadow); }.contact-details { text-align:right; }.contact-details p { margin-bottom:9px; color:#bfd3f0; font-size:.84rem; font-weight:700; letter-spacing:.08em; }.contact-details a { color:var(--white); font-size:clamp(1.05rem, 2vw, 1.35rem); font-weight:650; text-underline-offset:5px; }
.site-footer { padding:36px 0; background:#fff; }.footer-layout { display:flex; align-items:end; justify-content:space-between; gap:30px; }.footer-brand { color:var(--navy); font-size:.85rem; font-weight:800; letter-spacing:.1em; text-decoration:none; }.footer-layout p { margin:9px 0 0; color:#71809a; font-size:.78rem; }.site-footer nav { display:flex; flex-wrap:wrap; justify-content:end; gap:22px; }.site-footer nav a { color:#52617a; font-size:.84rem; text-decoration:none; }.site-footer nav a:hover { color:#1454c1; }
@media (max-width:860px) { .hero,.hero-layout { min-height:680px; }.hero-layout { grid-template-columns:1fr; }.hero-copy { padding-top:96px; padding-bottom:90px; }.hero-art { position:absolute; right:-100px; bottom:-90px; width:450px; opacity:.47; }.split-layout { gap:24px; }.product-grid { grid-template-columns:1fr; }.product-card { min-height:0; }.product-visual { min-height:190px; }.principle-grid { grid-template-columns:repeat(2,1fr); }.principle-grid article:nth-child(3) { border-left:1px solid rgba(255,255,255,.17); } }
@media (max-width:600px) { .container { width:min(100% - 32px, 1160px); }.site-header { position:relative; color:var(--navy); background:var(--white); }.nav-wrap { min-height:76px; align-items:flex-start; padding:17px 0; }.wordmark small { color:#71809a; }.wordmark-mark { color:var(--white); background:var(--navy); }.primary-nav { max-width:190px; flex-wrap:wrap; justify-content:flex-end; gap:6px 14px; }.primary-nav a { color:#53617a; font-size:.78rem; }.primary-nav a:hover,.primary-nav a:focus-visible { color:var(--navy); }.hero,.hero-layout { min-height:610px; }.hero { background:radial-gradient(circle at 95% 70%, #164794 0, transparent 26%), linear-gradient(145deg, #030a19, var(--navy)); }.hero-copy { padding-top:38px; padding-bottom:52px; }.hero-art { right:-182px; bottom:-130px; opacity:.32; }.lead { font-size:1rem; }.button { width:100%; }.split-layout { grid-template-columns:1fr; }.copy-block { padding-top:0; font-size:1rem; }.section-heading { margin-bottom:30px; }.product-content { padding:24px; }.principle-grid { grid-template-columns:1fr; }.principle-grid article,.principle-grid article:nth-child(3) { min-height:0; border-right:1px solid rgba(255,255,255,.17); border-left:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }.principle-grid h3 { margin-top:28px; }.contact-card,.footer-layout { display:block; }.contact-details { margin-top:35px; text-align:left; }.site-footer nav { justify-content:flex-start; margin-top:27px; }.site-footer { padding:30px 0; } }
@media (prefers-reduced-motion:no-preference) { .reveal { animation:rise .7s ease-out both; } @keyframes rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } } }
.founder-profile { display:grid; grid-template-columns:1fr 1.7fr; gap:clamp(36px, 8vw, 100px); margin-top:clamp(54px, 7vw, 86px); padding-top:clamp(34px, 5vw, 60px); border-top:1px solid var(--line); }.founder-label h3 { margin-bottom:8px; font-size:clamp(1.55rem, 2.5vw, 2.15rem); }.founder-label > p:last-child { margin:0; color:var(--muted); font-size:.92rem; }.founder-copy { max-width:670px; color:var(--muted); line-height:1.72; }.founder-copy p { margin-bottom:20px; }.founder-copy p:last-child { margin-bottom:0; }
@media (max-width:600px) { .founder-profile { grid-template-columns:1fr; gap:26px; } }
.product-content h2 { margin-bottom:13px; font-size:1.72rem; line-height:1.1; }.founder-label h2 { margin-bottom:8px; font-size:clamp(1.55rem, 2.5vw, 2.15rem); }
