/*
Theme Name: Jürgens Technical Solutions
Theme URI: https://juergens-unna.de/
Author: Joachim Jürgens
Description: Eigenständiges Corporate-Theme für Jürgens Technical Solutions.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: juergens-technical-solutions
*/
@font-face {
    font-family: 'JJ Manrope';
    src: url('/wp-content/themes/juergens-technical-solutions/assets/fonts/Manrope-VariableFont_wght.woff2') format('woff2');
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JJ Fira Code';
    src: url('/wp-content/themes/juergens-technical-solutions/assets/fonts/FiraCode-VariableFont_wght.woff2') format('woff2');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}
:root {
    --jj-blue: #246bff;
    --jj-blue-2: #0aa3ff;
    --jj-dark: #020712;
    --jj-ink: #07111f;
    --jj-text: #101827;
    --jj-muted: #65738a;
    --jj-line: #dfe7f2;
    --jj-card: #ffffff;
    --jj-soft: #f4f8ff;
}
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff !important; color: var(--jj-text) !important; font-family: "JJ Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
.wp-site-blocks, .jj-template { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.jj-site * { box-sizing: border-box; }
.jj-site { background: #fff; color: var(--jj-text); overflow: clip; }
.jj-header {
    position: absolute; top: 0; left: 0; right: 0; z-index: 20;
    max-width: 1180px; margin: 0 auto; padding: 26px 28px;
    display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center;
}
.jj-logo { display: inline-flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; min-width: 250px; }
.jj-logo strong { display:block; color:#fff; text-transform: uppercase; letter-spacing:.04em; line-height:1.05; font-size: 15px; }
.jj-logo em { display:block; color:#fff; opacity:.9; text-transform:uppercase; font-style:normal; letter-spacing:.08em; font-size:12px; }
.jj-nav { display:flex; justify-content:center; gap: 34px; }
.jj-nav a { color:#fff; text-decoration:none; font-weight:700; font-size:14px; padding:10px 0; opacity:.92; border-bottom:2px solid transparent; }
.jj-nav a.active, .jj-nav a:hover { color:#4d8cff; border-color:#246bff; opacity:1; }
.jj-header-cta, .jj-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:0 18px; border-radius:5px; text-decoration:none; font-weight:800; font-size:14px; transition:.18s ease; }
.jj-header-cta { color:#fff; border:1px solid #246bff; background:rgba(2,7,18,.25); }
.jj-header-cta:hover, .jj-btn.secondary:hover { background:rgba(36,107,255,.14); transform:translateY(-1px); }
.jj-hero { position:relative; min-height: 620px; background:#020712; color:#fff; overflow:hidden; }
.jj-hero-bg { position:absolute; inset:0; background: linear-gradient(90deg, rgba(2,7,18,1) 0%, rgba(2,7,18,.98) 26%, rgba(2,7,18,.64) 48%, rgba(2,7,18,.2) 100%), url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center right / cover no-repeat; opacity: .9; }
.jj-hero::after { content:""; position:absolute; inset:auto 0 0; height:180px; background:linear-gradient(180deg, transparent, rgba(2,7,18,.96)); pointer-events:none; }
.jj-hero-inner { position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:150px 28px 34px; min-height:620px; display:flex; flex-direction:column; justify-content:space-between; }
.jj-eyebrow, .jj-kicker { margin:0 0 14px; color:#246bff; font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.jj-hero h1 { max-width: 560px; margin:0; color:#fff; font-size: clamp(3.2rem, 7vw, 5.7rem); line-height:.94; letter-spacing:-.035em; text-transform:uppercase; font-weight:1000; }
.jj-hero h1 span { color:#3578ff; display:block; }
.jj-hero-text { max-width: 410px; color:#d5dfed; font-size:17px; line-height:1.65; margin:22px 0 0; }
.jj-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:30px; }
.jj-btn.primary { background:linear-gradient(135deg,#246bff,#1158e8); color:#fff; box-shadow:0 16px 35px rgba(36,107,255,.28); }
.jj-btn.secondary { color:#fff; border:1px solid rgba(255,255,255,.4); background:rgba(2,7,18,.28); }
.jj-btn.light { color:#246bff; border:1px solid #246bff; background:#fff; }
.jj-btn:hover { transform: translateY(-2px); }
.jj-trust-row { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid rgba(255,255,255,.08); }
.jj-trust-item { display:grid; grid-template-columns:52px 1fr; column-gap:14px; padding:24px 28px 0 0; border-right:1px solid rgba(255,255,255,.08); }
.jj-trust-item:last-child { border-right:0; }
.jj-icon { grid-row:1 / 3; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(36,107,255,.42); border-radius:999px; color:#0aa3ff; font-size:24px; }
.jj-trust-item strong { color:#fff; font-size:14px; }
.jj-trust-item p { margin:5px 0 0; color:#d5dfed; font-size:13px; line-height:1.45; }
.jj-section { max-width:1180px; margin:0 auto; padding:62px 28px; }
.jj-section-head.two-col { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.jj-section h2, .jj-contact-form-wrap h2 { margin:0; color:#0c1423; font-size:clamp(2rem,4vw,3rem); line-height:1.08; letter-spacing:-.025em; }
.jj-section-head p:not(.jj-kicker) { color:#26364c; line-height:1.65; margin:14px 0 0; font-size:16px; }
.jj-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:34px; }
.jj-service-card { min-height:242px; padding:28px 26px; background:#fff; border:1px solid #e3eaf4; border-radius:10px; box-shadow:0 18px 45px rgba(12,31,66,.08); transition:.18s ease; }
.jj-service-card:hover { transform:translateY(-5px); box-shadow:0 28px 65px rgba(12,31,66,.13); border-color:#cbd8ea; }
.jj-card-icon { display:block; color:#246bff; font-size:34px; line-height:1; margin-bottom:26px; font-weight:800; }
.jj-service-card h3 { color:#0c1423; margin:0 0 13px; font-size:21px; }
.jj-service-card p { color:#304057; line-height:1.62; font-size:14px; margin:0 0 22px; }
.jj-service-card a { color:#155df4; text-decoration:none; font-weight:900; font-size:14px; }
.jj-about-section { display:grid; grid-template-columns:340px 1fr; gap:60px; align-items:center; padding-top:36px; }
.jj-about-copy p:not(.jj-kicker) { color:#26364c; line-height:1.68; font-size:15px; margin:20px 0 24px; }
.jj-about-visual { min-height:330px; border-radius:11px; overflow:hidden; background: linear-gradient(90deg, rgba(2,7,18,.9), rgba(2,7,18,.4)), url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center / cover no-repeat; box-shadow:0 24px 70px rgba(12,31,66,.18); display:flex; align-items:stretch; }
.jj-about-stats { width:250px; padding:32px; background:linear-gradient(90deg, rgba(2,7,18,.86), rgba(2,7,18,.22)); display:grid; align-content:center; gap:30px; color:#fff; }
.jj-about-stats strong { display:block; font-size:34px; line-height:1; }
.jj-about-stats span { color:#d8e4f4; font-size:13px; }
.jj-testimonials { text-align:center; padding-top:36px; }
.jj-kicker.center { text-align:center; }
.jj-testimonials h2 { margin-bottom:34px; }
.jj-testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left; }
.jj-testimonial-grid article { background:#fff; border:1px solid #e3eaf4; border-radius:10px; padding:24px; box-shadow:0 18px 45px rgba(12,31,66,.08); position:relative; }
.jj-testimonial-grid article::after { content:'”'; position:absolute; right:22px; bottom:10px; color:#246bff; background:#edf4ff; width:30px; height:30px; border-radius:8px; display:grid; place-items:center; font-size:28px; font-weight:900; }
.jj-testimonial-grid p { color:#172235; line-height:1.55; min-height:82px; margin:0 0 18px; }
.jj-testimonial-grid strong { display:block; color:#0c1423; }
.jj-testimonial-grid span { color:#65738a; font-size:12px; }
.jj-cta-section { margin-top:28px; padding:34px max(28px, calc((100vw - 1180px) / 2 + 28px)); color:#fff; background:linear-gradient(135deg,#071224,#102a4c); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.jj-cta-section h2 { margin:0; color:#fff; font-size:30px; }
.jj-cta-section p { margin:8px 0 0; color:#c9d6e7; }
.jj-contact-form-wrap { max-width:1180px; margin:0 auto; padding:58px 28px; display:grid; grid-template-columns:340px 1fr; gap:50px; }
.jj-contact-info p { color:#304057; line-height:1.65; }
.jj-contact-info a { color:#155df4; text-decoration:none; font-weight:800; }
.jj-form-panel { background:#fff; border:1px solid #e3eaf4; border-radius:10px; padding:28px; box-shadow:0 18px 45px rgba(12,31,66,.08); }
.jj-form-panel .wpforms-container { margin:0 !important; }
.jj-form-panel .wpforms-field-label { color:#0c1423 !important; font-weight:800 !important; }
.jj-form-panel input, .jj-form-panel textarea, .jj-form-panel select { border-radius:7px !important; border:1px solid #d9e3f0 !important; background:#f8fbff !important; color:#0c1423 !important; }
.jj-form-panel .wpforms-submit { background:#246bff !important; color:#fff !important; border:0 !important; border-radius:6px !important; font-weight:900 !important; padding:12px 20px !important; }
.jj-footer { color:#dce7f7; background:linear-gradient(135deg,#071224,#0d2138); padding:46px max(28px, calc((100vw - 1180px) / 2 + 28px)) 24px; }
.jj-footer .jj-logo { min-width:260px; }
.jj-footer-top { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:40px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.09); }
.jj-footer h3 { color:#fff; margin:0 0 14px; font-size:14px; }
.jj-footer a { display:block; color:#c3d0e2; text-decoration:none; margin:8px 0; font-size:13px; }
.jj-footer a:hover { color:#fff; }
.jj-footer-bottom { display:flex; justify-content:space-between; gap:20px; color:#8fa2bb; font-size:12px; padding-top:22px; }
.jj-footer-bottom a { display:inline; margin:0; }
@media (max-width: 980px) {
    .jj-header { position:relative; background:#020712; grid-template-columns:1fr; gap:18px; }
    .jj-nav { justify-content:flex-start; flex-wrap:wrap; gap:18px; }
    .jj-header-cta { width:fit-content; }
    .jj-hero-inner { padding-top:64px; }
    .jj-trust-row, .jj-card-grid, .jj-testimonial-grid, .jj-footer-top { grid-template-columns:1fr 1fr; }
    .jj-section-head.two-col, .jj-about-section, .jj-contact-form-wrap { grid-template-columns:1fr; gap:28px; }
    .jj-cta-section { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 640px) {
    .jj-hero { min-height:auto; }
    .jj-hero-inner { min-height:auto; padding:52px 20px 28px; }
    .jj-hero h1 { font-size:3.2rem; }
    .jj-trust-row, .jj-card-grid, .jj-testimonial-grid, .jj-footer-top { grid-template-columns:1fr; }
    .jj-trust-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); padding-right:0; padding-bottom:20px; }
    .jj-section, .jj-contact-form-wrap { padding-inline:20px; }
    .jj-footer-bottom { flex-direction:column; }
}
/* Unified typography refresh */
.jj-site,
.jj-site input,
.jj-site textarea,
.jj-site select,
.jj-site button {
    font-family: 'JJ Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    letter-spacing: 0;
    font-feature-settings: 'ss01' 1, 'cv05' 1;
}
.jj-logo strong,
.jj-nav a,
.jj-header-cta,
.jj-btn,
.jj-service-card a,
.jj-form-panel .wpforms-submit {
    font-weight: 760 !important;
}
.jj-eyebrow,
.jj-kicker,
.jj-logo em {
    font-family: 'JJ Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    letter-spacing: .075em;
    font-weight: 650;
}
.jj-hero h1 {
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: .92;
}
.jj-section h2,
.jj-contact-form-wrap h2,
.jj-cta-section h2 {
    font-weight: 780;
    letter-spacing: -.04em;
}
.jj-service-card h3,
.jj-testimonial-grid strong,
.jj-about-stats strong {
    font-weight: 780;
    letter-spacing: -.025em;
}
.jj-hero-text,
.jj-section-head p:not(.jj-kicker),
.jj-about-copy p:not(.jj-kicker),
.jj-contact-info p,
.jj-service-card p {
    font-weight: 430;
}
/* Legal pages */
.jj-legal-page {
    background: #f6f9fe;
    color: var(--jj-text);
    font-family: 'JJ Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.jj-legal-page .jj-legal-header {
    position: relative;
    max-width: none;
    margin: 0;
    padding: 24px max(28px, calc((100vw - 1180px) / 2 + 28px));
    background: rgba(2, 7, 18, 0.98);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.jj-legal-hero {
    max-width: none !important;
    min-height: 320px;
    margin: 0 !important;
    padding: 84px max(28px, calc((100vw - 1180px) / 2 + 28px)) 72px !important;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(2,7,18,.98) 0%, rgba(2,7,18,.82) 46%, rgba(2,7,18,.35) 100%),
        url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center right / cover no-repeat;
}
.jj-legal-hero h1 {
    max-width: 1040px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.9rem, 4.8vw, 4.45rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    font-weight: 850;
    text-wrap: balance;
}
.jj-legal-hero p {
    max-width: 560px;
    margin: 20px 0 0;
    color: #d7e3f4;
    font-size: 17px;
    line-height: 1.65;
}
.jj-legal-main {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 64px 28px 76px !important;
    box-sizing: border-box;
}
.jj-legal-main h2,
.jj-legal-main h3 {
    color: #0c1423;
    letter-spacing: -.035em;
    font-weight: 780;
}
.jj-legal-main h2 {
    margin-top: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
}
.jj-legal-main h3 {
    margin-bottom: 10px;
    font-size: 1.35rem;
}
.jj-legal-main p,
.jj-legal-main li {
    color: #304057;
    font-size: 1rem;
    line-height: 1.75;
}
.jj-legal-main a {
    color: #155df4;
    font-weight: 760;
    text-decoration: none;
}
.jj-legal-main a:hover {
    text-decoration: underline;
}
.jj-legal-card {
    width: min(100%, 880px);
    margin: 0 auto 24px;
    padding: clamp(24px, 4vw, 36px);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e3eaf4;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(12,31,66,.08);
}
.jj-legal-card > :first-child { margin-top: 0; }
.jj-legal-card > :last-child { margin-bottom: 0; }
.jj-legal-columns {
    width: min(100%, 880px);
    gap: 24px;
    margin: 0 auto;
}
.jj-legal-columns .wp-block-column {
    min-width: 0;
}
.jj-legal-columns .jj-legal-card {
    height: 100%;
}
.jj-legal-main > p,
.jj-legal-main > h2,
.jj-legal-main > h3,
.jj-legal-main > ul,
.jj-legal-main > ol {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}
.jj-legal-main > p,
.jj-legal-main > ul,
.jj-legal-main > ol {
    padding: 0 4px;
}
@media (max-width: 980px) {
    .jj-legal-page .jj-legal-header {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .jj-legal-hero {
        padding-top: 58px !important;
    }
}
@media (max-width: 640px) {
    .jj-legal-hero,
    .jj-legal-main,
    .jj-legal-page .jj-legal-header {
        padding-inline: 20px !important;
    }
    .jj-legal-hero h1 {
        font-size: 3rem;
    }
}
/* Original logo asset */
.jj-logo-img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 14px 28px rgba(36,107,255,.28));
}
.jj-footer .jj-logo-img {
    width: 52px;
    height: 52px;
}
@media (max-width: 640px) {
    .jj-logo-img {
        width: 48px;
        height: 48px;
    }
}
/* Logo color system */
:root {
    --jj-blue: #1878c0;
    --jj-blue-2: #2a9eea;
    --jj-orange: #f09018;
    --jj-orange-deep: #f07800;
    --jj-dark: #05070d;
    --jj-ink: #07111f;
    --jj-text: #101827;
    --jj-muted: #65738a;
    --jj-line: #dfe7f2;
    --jj-card: #ffffff;
    --jj-soft: #f6f9ff;
}
.jj-header {
    padding-top: 20px;
    padding-bottom: 20px;
}
.jj-logo {
    min-width: 310px;
    gap: 16px;
}
.jj-logo-img {
    width: 78px;
    height: 78px;
    padding: 8px;
    object-fit: contain;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.56);
    box-shadow: 0 18px 44px rgba(0,0,0,.28), 0 0 0 1px rgba(24,120,192,.18), 0 0 34px rgba(240,144,24,.18);
}
.jj-footer .jj-logo-img {
    width: 74px;
    height: 74px;
    padding: 8px;
}
.jj-logo strong {
    font-size: 17px;
}
.jj-logo em {
    color: rgba(255,255,255,.92);
    font-size: 13px;
}
.jj-nav a.active,
.jj-nav a:hover {
    color: #6bbcff;
    border-color: var(--jj-orange);
}
.jj-header-cta {
    border-color: rgba(240,144,24,.72);
    box-shadow: inset 0 0 0 1px rgba(24,120,192,.28);
}
.jj-header-cta:hover {
    background: rgba(240,144,24,.14);
}
.jj-hero-bg {
    background:
        linear-gradient(90deg, rgba(5,7,13,1) 0%, rgba(5,7,13,.98) 25%, rgba(5,7,13,.68) 48%, rgba(5,7,13,.18) 100%),
        radial-gradient(circle at 18% 36%, rgba(240,144,24,.18), transparent 28rem),
        radial-gradient(circle at 72% 22%, rgba(24,120,192,.22), transparent 34rem),
        url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center right / cover no-repeat;
}
.jj-eyebrow,
.jj-kicker,
.jj-service-card a,
.jj-contact-info a,
.jj-legal-main a {
    color: var(--jj-blue);
}
.jj-hero h1 span {
    color: var(--jj-orange);
    text-shadow: 0 18px 44px rgba(240,144,24,.22);
}
.jj-btn.primary,
.jj-form-panel .wpforms-submit {
    background: linear-gradient(135deg, var(--jj-blue), var(--jj-orange)) !important;
    box-shadow: 0 16px 35px rgba(24,120,192,.24), 0 10px 28px rgba(240,144,24,.18);
}
.jj-card-icon,
.jj-icon {
    color: var(--jj-blue);
}
.jj-service-card:hover {
    border-color: rgba(240,144,24,.32);
    box-shadow: 0 28px 65px rgba(24,120,192,.12), 0 18px 42px rgba(240,144,24,.08);
}
.jj-about-visual {
    box-shadow: 0 24px 70px rgba(24,120,192,.18), 0 12px 36px rgba(240,144,24,.1);
}
.jj-cta-section,
.jj-footer {
    background:
        radial-gradient(circle at 16% 20%, rgba(240,144,24,.18), transparent 28rem),
        radial-gradient(circle at 80% 16%, rgba(24,120,192,.26), transparent 30rem),
        linear-gradient(135deg,#06101e,#0b2138 58%,#111827);
}
.jj-legal-hero {
    background:
        linear-gradient(90deg, rgba(5,7,13,.98) 0%, rgba(5,7,13,.82) 46%, rgba(5,7,13,.35) 100%),
        radial-gradient(circle at 18% 34%, rgba(240,144,24,.2), transparent 28rem),
        url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center right / cover no-repeat;
}
@media (max-width: 980px) {
    .jj-logo {
        min-width: 0;
    }
    .jj-logo-img {
        width: 68px;
        height: 68px;
    }
}
@media (max-width: 640px) {
    .jj-logo-img,
    .jj-footer .jj-logo-img {
        width: 62px;
        height: 62px;
        padding: 7px;
    }
    .jj-logo strong {
        font-size: 15px;
    }
    .jj-logo em {
        font-size: 11px;
    }
}
/* Larger original logos */
.jj-header .jj-logo-img,
.jj-legal-header .jj-logo-img {
    width: 116px !important;
    height: 116px !important;
    padding: 10px !important;
    border-radius: 24px !important;
}
.jj-footer .jj-logo {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    min-width: 280px !important;
}
.jj-footer .jj-logo-img {
    width: 132px !important;
    height: 132px !important;
    padding: 12px !important;
    border-radius: 28px !important;
}
.jj-footer .jj-logo span:not(.jj-logo-mark) {
    display: block;
}
.jj-header .jj-logo,
.jj-legal-header .jj-logo {
    min-width: 360px;
    gap: 20px;
}
@media (max-width: 980px) {
    .jj-header .jj-logo-img,
    .jj-legal-header .jj-logo-img {
        width: 96px !important;
        height: 96px !important;
    }
    .jj-footer .jj-logo-img {
        width: 112px !important;
        height: 112px !important;
    }
}
@media (max-width: 640px) {
    .jj-header .jj-logo-img,
    .jj-legal-header .jj-logo-img {
        width: 82px !important;
        height: 82px !important;
        padding: 8px !important;
    }
    .jj-footer .jj-logo-img {
        width: 96px !important;
        height: 96px !important;
        padding: 9px !important;
    }
}
/* About image fix */
.jj-about-visual {
    background:
        linear-gradient(90deg, rgba(2,7,18,.9), rgba(2,7,18,.32)),
        url('https://juergens-unna.de/wp-content/uploads/2026/06/hero-premium-technology-operations.png') center right / cover no-repeat !important;
}