/* J&J Companies — shared site styles */
:root{
  --navy:#120e1f; --navy2:#1c1630; --ink:#1a1530; --light:#f6f3fa; --pill:#ece8f9; --line:#e2dcf0;
  --purple:#6c41d9; --purple-soft:#cab5ff; --cyan:#3dd9ef; --muted:#6b6784; --muted-dark:#b9b4cc;
  --g1:#3a1c9e; --g2:#106b88;
  --display:'Bebas Neue',Impact,'Arial Narrow',sans-serif; --body:'DM Sans','Helvetica Neue',Arial,sans-serif;
  --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--body);color:var(--ink);background:var(--light);line-height:1.55;font-size:17px}
img{display:block;max-width:100%;height:auto}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:.98}
h1{font-size:clamp(52px,8vw,104px)}
h2{font-size:clamp(40px,5.2vw,64px);margin-bottom:14px}
h3{font-size:30px;margin-bottom:8px}
.kicker{font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);margin-bottom:14px}
.on-dark .kicker{color:var(--cyan)}
.lead{font-size:clamp(18px,2vw,22px);color:var(--muted);max-width:640px}
.on-dark .lead{color:var(--muted-dark)}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:.04em;padding:14px 24px;border-radius:999px;border:1px solid transparent;transition:transform .15s ease,opacity .15s ease}
.btn:hover{transform:translateY(-1px);text-decoration:none;opacity:.92}
.btn-primary{background:var(--purple);color:#fff}
.btn-cyan{background:var(--cyan);color:var(--navy)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost-dark{background:transparent;color:var(--ink);border-color:#cfc7e6}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(18,14,31,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand:hover{text-decoration:none}
.brand img{height:40px;width:auto}
.brand .word{font-family:var(--display);font-size:24px;letter-spacing:.12em;color:#fff}
.brand .sub{display:block;font-family:var(--body);font-size:10.5px;letter-spacing:.2em;color:var(--muted-dark);text-transform:uppercase;margin-top:-2px}
nav.main{display:flex;gap:26px;align-items:center}
nav.main a{color:#e6e1f6;font-weight:600;font-size:15px}
nav.main a:hover{color:var(--cyan);text-decoration:none}
nav.main .btn{padding:10px 18px;font-size:14px}
@media(max-width:760px){nav.main a:not(.btn){display:none}}
/* sections */
.section{padding:88px 0}
.section.tight{padding:60px 0}
.dark{background:var(--navy);color:#f6f3fa}
.grad{background:linear-gradient(120deg,var(--g1),var(--g2));color:#f6f3fa}
.cards{display:grid;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.dark .card{background:var(--navy2);border-color:rgba(255,255,255,.07)}
.grad .card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.card p{color:var(--muted);font-size:16.5px}
.dark .card p,.grad .card p{color:var(--muted-dark)}
.grad .card p{color:#e3e8ff}
.tag{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}
.dark .tag{color:var(--cyan)}.grad .tag{color:#dfe9ff}
.stat .num{font-family:var(--display);font-size:72px;line-height:1;color:var(--purple)}
.dark .stat .num{color:var(--cyan)}
.stat p{color:var(--muted);font-size:16.5px;margin-top:6px}
.dark .stat p{color:var(--muted-dark)}
.photo{border-radius:14px;overflow:hidden;background:#e9e4f3}
.photo img{width:100%;height:100%;object-fit:cover}
.cap{font-size:14px;color:var(--muted);margin-top:8px}
.check{list-style:none}
.check li{padding:6px 0 6px 30px;position:relative;font-size:17px}
.check li::before{content:'';position:absolute;left:0;top:15px;width:14px;height:8px;border-left:2.5px solid var(--purple);border-bottom:2.5px solid var(--purple);transform:rotate(-45deg)}
.dark .check li::before,.grad .check li::before{border-color:var(--cyan)}
.bar{border-radius:14px;padding:20px 24px;font-size:17px;background:#e8e2f8}
.dark .bar{background:var(--navy2);color:#fff}
.site-footer{background:var(--navy);color:var(--muted-dark);padding:48px 0 40px;font-size:14px}
.site-footer .wrap{display:grid;gap:20px;grid-template-columns:1fr auto;align-items:center}
.site-footer a{color:#fff}
.site-footer .legal{font-size:12.5px;color:#7d7797;grid-column:1/-1;line-height:1.6}
@media(max-width:760px){.site-footer .wrap{grid-template-columns:1fr}.section{padding:60px 0}}
