@font-face { font-family: "Onest"; font-weight: 600; font-style: normal; font-display: swap; src: url(//www.grimmedv.com/wp-content/themes/grimmedv/assets/fonts/Onest-SemiBold.woff2) format("woff2"); }
@font-face { font-family: "Onest"; font-weight: 700; font-style: normal; font-display: swap; src: url(//www.grimmedv.com/wp-content/themes/grimmedv/assets/fonts/Onest-Bold.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap; src: url(//www.grimmedv.com/wp-content/themes/grimmedv/assets/fonts/Inter-Regular.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-style: normal; font-display: swap; src: url(//www.grimmedv.com/wp-content/themes/grimmedv/assets/fonts/Inter-SemiBold.woff2) format("woff2"); }
:root {
--bg: #111412;
--bg-2: #161a17;
--surface: #1b201c;
--surface-2: #222820;
--anthra: #393939;
--ink: #f2f5f2;
--ink-dim: #b7c1b9;
--muted: #7f8a81;
--faint: #4a524b;
--green: #4BCA00;
--green-deep: #3A9E00;
--green-soft: #EAF9E0;
--green-glow: rgba(75,202,0,0.5);
--amber: #f4b942;
--line: rgba(255,255,255,0.08);
--line-green: rgba(75,202,0,0.16);
--ff-display: "Onest","Segoe UI","Helvetica Neue",sans-serif;
--sans: "Inter","Segoe UI",Arial,sans-serif;
--mono: "Consolas","Cascadia Mono",ui-monospace,"Menlo",monospace;
--hd-h: 104px; --wrap: 1140px;
--wrap-text: 772px;
--wrap-pad: 24px;
--wrap-top: 56px;
--wrap-bottom: 90px; --econ-pad: 10px; --wrap-inset: calc(var(--wrap-pad) + var(--econ-pad));
--maxw: calc(var(--wrap) + 2 * var(--wrap-inset));
}
* { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hd-h) + 16px); }
body {
margin: 0;
background: var(--bg);
color: var(--ink);
font-family: var(--sans);
line-height: 1.62;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--green); text-decoration: none; }
a:hover { color: var(--green-deep); }
h1,h2,h3,h4,h5,h6 { font-family: var(--ff-display); color: var(--ink); line-height: 1.08; letter-spacing: -0.01em; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
.skip-link { position: absolute; left: -9999px; z-index: 200; }
.skip-link:focus { left: 12px; top: 12px; background: var(--green); color: #06210a; padding: 10px 16px; border-radius: 4px; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; } .hd { position: fixed; top: 0; left: 0; right: 0; z-index: 100; transition: background .3s ease, box-shadow .3s ease, backdrop-filter .3s; }
.hd.is-scrolled { background: rgba(13,16,14,0.85); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--line), 0 18px 40px -30px #000; }
.hd__fern {
background: var(--green); color: #0e2b00;
font-family: var(--mono); font-size: 12px; letter-spacing: .02em;
padding: 6px 0;
}
.hd__fern-inner {
max-width: var(--maxw); margin: 0 auto; padding: 0 var(--wrap-inset);
display: flex; align-items: center; justify-content: space-between; gap: 20px;
flex-wrap: nowrap; overflow: hidden;
}
.hd__fern a { color: #0e2b00; }
.hd__fern b { font-weight: 700; }
.hd__sep { width: 5px; height: 5px; background: #0e2b00; border-radius: 50%; opacity: .5; }
.hd__note { opacity: .82; }
.hd__nav { max-width: var(--maxw); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px var(--wrap-inset); transition: padding .3s ease; }
.hd.is-scrolled .hd__nav { padding: 11px var(--wrap-inset); }
.hd__logo { display: inline-flex; align-items: center; }
.hd__logo img, .hd__logo .custom-logo { display: block; height: 40px; width: auto; transition: height .3s ease; }
.hd.is-scrolled .hd__logo img, .hd.is-scrolled .hd__logo .custom-logo { height: 34px; }
.hd__menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.hd__menu li { position: relative; }
.hd__menu a { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--ink-dim); padding: 4px 0; display: inline-block; }
.hd__menu a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0; background: var(--green); transition: width .25s; }
.hd__menu a:hover, .hd__menu .current-menu-item > a { color: var(--green); }
.hd__menu a:hover::after, .hd__menu .current-menu-item > a::after { width: 100%; } .hd__menu .menu-item-has-children > a {
padding-right: 15px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5 6 8l4-3.5' fill='none' stroke='%23b7c1b9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat; background-position: right center; background-size: 9px;
}
.hd__menu .menu-item-has-children > a:hover,
.hd__menu .menu-item-has-children:focus-within > a {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5 6 8l4-3.5' fill='none' stroke='%234BCA00' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hd__menu .sub-menu {
display: none; position: absolute; top: 100%; left: -16px;
min-width: 190px; margin: 0; padding: 8px 0; list-style: none;
background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px;
box-shadow: 0 20px 44px -20px rgba(0,0,0,.75); z-index: 120;
}
.hd__menu li:hover > .sub-menu,
.hd__menu li:focus-within > .sub-menu { display: block; }
.hd__menu .sub-menu li { position: relative; }
.hd__menu .sub-menu a {
display: block; padding: 9px 18px; white-space: nowrap;
font-size: 12px; color: var(--ink-dim); background-image: none; padding-right: 18px;
} .hd__menu .sub-menu a::after { display: none; }
.hd__menu .sub-menu a:hover { color: var(--green); background: rgba(75,202,0,.08); }
.hd__burger { display: none; flex-direction: column; gap: 4px; background: none; border: 0; cursor: pointer; padding: 10px; }
.hd__burger span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .25s, opacity .2s; } .hd__fern-downloads, .hd__fern-msg { display: flex; align-items: center; }
.hd__fern-downloads { gap: 16px; min-width: 0; }
.hd__fern-downloads a, .hd__fern .hd-fern-item a { display: inline-flex; align-items: center; gap: 14px; color: #0e2b00 !important; text-decoration: none; }
.hd__fern .hd-fern-item { display: flex; align-items: center; } .hd__fern h1, .hd__fern h2, .hd__fern h3, .hd__fern h4, .hd__fern h5 { font-family: var(--mono); font-size: 11px; font-weight: 700; margin: 0; letter-spacing: .16em; text-transform: uppercase; color: rgba(14,43,0,.88); line-height: 1; white-space: nowrap; }
.hd__fern ul { display: flex; align-items: center; gap: 10px; list-style: none; margin: 0; padding: 0; } .hd__fern li {
display: inline-flex; align-items: center; gap: 8px; margin: 0;
font-family: var(--mono); font-size: 12px; font-weight: 600; line-height: 1;
color: #eaffd9; background: #0e2b00; border-radius: 100px; padding: 6px 13px 6px 11px;
box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 6px -2px rgba(0,0,0,.45);
transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hd__fern li::after {
content: ""; flex: 0 0 auto; width: 13px; height: 13px; background: currentColor;
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v7.6'/%3E%3Cpath d='M4.8 6.6 8 9.8l3.2-3.2'/%3E%3Cpath d='M2.5 12.3v1.2h11v-1.2'/%3E%3C/svg%3E") center/contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v7.6'/%3E%3Cpath d='M4.8 6.6 8 9.8l3.2-3.2'/%3E%3Cpath d='M2.5 12.3v1.2h11v-1.2'/%3E%3C/svg%3E") center/contain no-repeat;
opacity: .85;
}
.hd__fern li:hover { background: #16400a; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 7px 14px -6px rgba(0,0,0,.6); }
.hd__fern li:hover::after { opacity: 1; }
.hd__fern a:focus-visible { outline: 2px solid #0e2b00; outline-offset: 3px; border-radius: 8px; } .hd__fern .gd-os { opacity: .92; } .hd__fern-msg { position: relative; flex-direction: column; align-items: flex-end; gap: 1px; background: rgba(14,43,0,.10); color: #0e2b00; border: 1px solid rgba(14,43,0,.20); padding: 4px 12px 4px 30px; border-radius: 8px; text-align: right; }
.hd__fern-msg::before {
content: ""; position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
width: 13px; height: 13px; background: currentColor; opacity: .65;
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.6' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M8 7.2v4' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='4.7' r='.95' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.6' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M8 7.2v4' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='4.7' r='.95' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hd__fern-msg .hd-fern-msgitem { margin: 0; }
.hd__fern-msg p { margin: 0; font-family: var(--mono); font-size: 10.5px; line-height: 1.35; color: #0e2b00; }
.hd__fern-msg .hd-fern-msgitem:first-child p { font-weight: 700; } .hd__fern-msg .hd-fern-msgitem:last-child p { font-size: 10px; } .elementor-element-78ac8137,
.elementor-element-3a168253,
.elementor-element-6671229b,
.elementor-element-fda6ddb {
width: 100vw !important; max-width: 100vw !important;
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
} .elementor-element-78ac8137,
.elementor-element-3a168253,
.elementor-element-6671229b {
padding-inline: var(--wrap-inset) !important;
} .site-content { padding-top: var(--hd-h); }
.is-front .site-content { padding-top: 0; }  @media (max-width: 1024px) { :root { --wrap-pad: 20px; --wrap-top: 44px; --wrap-bottom: 64px; } }
@media (max-width: 767px)  { :root { --wrap-pad: 16px; --wrap-top: 32px; --wrap-bottom: 48px; } } .content-container {
max-width: calc(var(--wrap-text) + 2 * var(--wrap-inset));
margin: 0 auto;
padding: var(--wrap-top) var(--wrap-inset) var(--wrap-bottom);
} body.elementor-page .content-container {
max-width: var(--maxw);
padding-inline: var(--wrap-pad);
}
.entry-title { font-size: clamp(30px, 4vw, 46px); margin: 0 0 22px; }
.entry-content { color: var(--ink-dim); }
.entry-content a { text-decoration: underline; text-decoration-color: var(--line-green); }
.entry-content h2, .entry-content h3 { color: var(--ink); margin: 34px 0 12px; } :root {
--field-bg: var(--surface);
--field-bg-focus: var(--surface-2);
--field-radius: 3px; --field-pad: 12px 14px;
}
input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="tel"], input[type="url"], input[type="number"], input[type="date"],
select, textarea {
width: 100%;
box-sizing: border-box;
font-family: var(--sans);
font-size: 15px;
line-height: 1.45;
color: var(--ink);
background: var(--field-bg);
border: 1px solid var(--line);
border-radius: var(--field-radius);
padding: var(--field-pad); -webkit-appearance: none;
appearance: none;
transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
textarea { min-height: 140px; resize: vertical; }
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus,
input[type="number"]:focus, input[type="date"]:focus, select:focus, textarea:focus {
outline: none;
border-color: var(--green);
background: var(--field-bg-focus);
box-shadow: 0 0 0 3px rgba(75,202,0,.18);
}
::placeholder { color: var(--muted); opacity: 1; } input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
-webkit-text-fill-color: var(--ink);
-webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
caret-color: var(--ink);
} label, .um-field-label label {
display: block;
font-family: var(--mono);
font-size: 12px;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--ink-dim);
margin: 0 0 8px;
}
.um-req { color: var(--green); margin-left: 4px; } button, input[type="submit"], input[type="button"], .um-button, .search-submit {
font-family: var(--mono);
font-size: 13px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
color: #0e2b00;
background: var(--green);
border: 1px solid transparent;
border-radius: var(--field-radius);
padding: 15px 24px;
cursor: pointer;
transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
-webkit-appearance: none;
appearance: none;
}
button:hover, input[type="submit"]:hover, input[type="button"]:hover,
.um-button:hover, .search-submit:hover {
background: var(--green);
color: #0e2b00;
transform: translateY(-2px);
box-shadow: 0 12px 30px -10px var(--green-glow);
} .um, .um-form { font-family: var(--sans); } .um .um-form .um-field .um-field-label label {
font-family: var(--mono);
font-size: 12px !important;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--ink-dim);
margin: 0 0 8px;
}
.um .um-form .um-field-area input.um-form-field,
.um .um-form .um-field-area select.um-form-field,
.um .um-form .um-field-area textarea.um-form-field {
background: var(--field-bg) !important;
border: 1px solid var(--line) !important;
border-radius: var(--field-radius) !important;
color: var(--ink) !important;
font-family: var(--sans) !important;
font-size: 15px !important;
height: auto !important;
padding: var(--field-pad) !important;
}
.um .um-form .um-field-area textarea.um-form-field { min-height: 140px !important; } .um .um-form .um-field-area input.um-form-field:-webkit-autofill,
.um .um-form .um-field-area input.um-form-field:-webkit-autofill:hover,
.um .um-form .um-field-area input.um-form-field:-webkit-autofill:focus {
-webkit-text-fill-color: var(--ink) !important;
-webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset !important;
caret-color: var(--ink);
}
.um .um-form .um-field-area input.um-form-field:focus,
.um .um-form .um-field-area select.um-form-field:focus,
.um .um-form .um-field-area textarea.um-form-field:focus {
border-color: var(--green) !important;
background: var(--field-bg-focus) !important;
box-shadow: 0 0 0 3px rgba(75,202,0,.18) !important;
} .um .um-form input[type="submit"].um-button,
.um .um-form a.um-button,
.um a.um-button {
background: var(--green) !important;
color: #0e2b00 !important;
border: 1px solid transparent !important;
border-radius: var(--field-radius) !important;
font-family: var(--mono) !important;
font-size: 13px !important;
font-weight: 600;
letter-spacing: .06em; text-transform: uppercase !important;
padding: 15px 24px !important;
height: auto !important;
box-shadow: none;
}
.um .um-form input[type="submit"].um-button:hover,
.um .um-form a.um-button:hover, .um a.um-button:hover {
background: var(--green) !important;
transform: translateY(-2px);
box-shadow: 0 12px 30px -10px var(--green-glow);
} .um a.um-button.um-alt {
background: transparent !important;
color: var(--ink) !important;
border: 1px solid var(--line-green);
}
.um .um-field-error, .um .um-error-block { color: #ff8a7a; font-size: 13px; }
.um .um-field-checkbox, .um .um-field-radio { color: var(--ink-dim); }
.um .um-col-alt, .um .um-center { text-align: center; } .um-account .um-account-heading,
.um-account .um-account-name a,
.um-account .um-account-name a:visited { color: var(--ink) !important; } .um-account .um-account-side ul li,
.um-account .um-account-nav a {
background: var(--surface) !important;
border-bottom: 1px solid var(--line) !important;
}
.um-account .um-account-side ul li:last-child { border-bottom: 0 !important; }
.um-account .um-account-side ul li a.um-account-link,
.um-account .um-account-nav a { color: var(--ink-dim) !important; }
.um-account .um-account-side ul li:hover { background: var(--surface-2) !important; }
.um-account .um-account-side ul li a.current,
.um-account .um-account-side ul li:hover a.um-account-link,
.um-account .um-account-nav a.current,
.um-account .um-account-nav a:hover { color: var(--green) !important; } .um-account .um-account-side ul li i,
.um-account .um-account-nav [class*="um-faicon"],
.um-account .um-account-heading i,
.um-account .um-account-icon { color: var(--ink-dim) !important; } .um-account .um-account-meta img {
border-color: var(--surface) !important; background: var(--surface) !important;
}
.um-account .um-account-meta,
.um-account .um-account-name { color: var(--ink-dim); } .um-directory .um-members { gap: 24px; }
.um-directory .um-member {
background: var(--surface) !important;
border: 1px solid var(--line) !important;
border-radius: 12px !important;
overflow: hidden;
} .um-directory .um-member .um-member-cover,
.um-directory .um-member .um-member-cover-e { background: var(--surface-2) !important; } .um-directory .um-member .um-member-photo img {
border-color: var(--surface) !important;
background: var(--surface) !important;
}
.um-directory .um-member .um-member-name a,
.um-directory .um-member .um-member-name a:visited { color: var(--ink) !important; }
.um-directory .um-member .um-member-name a:hover { color: var(--green) !important; } .um-directory .um-member .um-member-meta,
.um-directory .um-member .um-member-card,
.um-directory .um-members-intro,
.um-directory .um-members-total { color: var(--ink-dim) !important; } .um-directory .um-members-pagi a {
color: var(--ink-dim) !important; border: 1px solid var(--line) !important;
border-radius: var(--field-radius); background: var(--surface) !important;
}
.um-directory .um-members-pagi a:hover,
.um-directory .um-members-pagi span.current {
color: var(--green) !important; border-color: var(--line-green) !important;
} .search-form { display: flex; gap: 10px; align-items: stretch; max-width: 520px; }
.search-form label { flex: 1 1 auto; margin: 0; display: block; }
.search-form .search-field { width: 100%; height: 100%; }
.search-form .search-submit { flex: 0 0 auto; } .gd-hero { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; overflow: hidden; isolation: isolate; padding-top: var(--hd-h); background: var(--bg); }
.gd-hero > .elementor-container, .gd-hero > .e-con-inner, .gd-hero .elementor-container { position: relative; z-index: 3; }
.gd-net { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; display: block; }
.gd-glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; background:
radial-gradient(120% 90% at 12% -10%, rgba(58,158,0,.26), transparent 55%),
radial-gradient(90% 80% at 92% 8%, rgba(75,202,0,.09), transparent 60%),
linear-gradient(180deg, transparent 45%, rgba(0,0,0,.55) 100%); }
.gd-grid { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .6;
background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
background-size: 64px 64px; -webkit-mask-image: radial-gradient(130% 100% at 20% 0%, #000 30%, transparent 78%); mask-image: radial-gradient(130% 100% at 20% 0%, #000 30%, transparent 78%); }
.gd-scan { position: absolute; inset: 0; z-index: 1; pointer-events: none; height: 42%;
background: linear-gradient(180deg, transparent, rgba(75,202,0,.05) 50%, transparent); animation: gd-scan 8.5s linear infinite; mix-blend-mode: screen; opacity: .6; }
@keyframes gd-scan { 0% { transform: translateY(-60%); } 100% { transform: translateY(280%); } }  .gd-pill:not(.elementor-element) { display:inline-flex; align-items:center; gap:10px; font-family: var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color: var(--green); border:1px solid var(--line-green); border-radius:100px; padding:7px 15px 7px 12px; background: rgba(75,202,0,.08); }
.gd-pill:not(.elementor-element)::before { content:""; width:8px; height:8px; border-radius:50%; background: var(--green); box-shadow:0 0 0 0 var(--green-glow); animation: gd-pulse 2.4s ease-out infinite; }
@keyframes gd-pulse { 0%{box-shadow:0 0 0 0 rgba(75,202,0,.6);}70%{box-shadow:0 0 0 9px rgba(75,202,0,0);}100%{box-shadow:0 0 0 0 rgba(75,202,0,0);} }
.gd-kicker .elementor-heading-title, .gd-kicker { font-family: var(--mono) !important; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--muted) !important; }
.gd-hero-title .elementor-heading-title { font-size: clamp(20px, 8vw, 56px); line-height: 1.02; letter-spacing: -.015em; }
.gd-hero-title .elementor-heading-title em, .gd-accent { font-style: normal; color: var(--green); text-shadow: 0 0 26px rgba(75,202,0,.3); } .gd-section-alt { background: var(--bg-2) !important; }
.gd-eyebrow .elementor-heading-title, .gd-eyebrow { font-family: var(--mono) !important; font-size:12px !important; letter-spacing:.26em; text-transform:uppercase; color: var(--green-deep) !important; font-weight:400 !important; } .elementor-widget-heading .elementor-heading-title { font-family: var(--ff-display); color: var(--ink); }
.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-icon-list .elementor-icon-list-text { font-family: var(--sans); color: var(--ink-dim); }
.elementor-button { font-family: var(--mono); letter-spacing: .06em; text-transform: uppercase; border-radius: 3px; font-weight: 600; }
.elementor-button.elementor-size-md, .gd-btn--primary, a.gd-btn--primary { background: var(--green); color: #0e2b00; }
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -10px var(--green-glow); }
.gd-btn { font-family: var(--mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:15px 24px; border-radius:3px; display:inline-flex; align-items:center; gap:11px; border:1px solid transparent; }
.gd-btn--primary { background: var(--green); color:#0e2b00; font-weight:700; }
.gd-btn--ghost { color: var(--ink); border-color: var(--line-green); }
.gd-btn--ghost:hover { border-color: var(--green); color: var(--green); } .gd-card { background: var(--surface); border:1px solid var(--line); border-radius:10px; transition: transform .2s, border-color .2s, box-shadow .2s; }
.gd-card:hover { transform: translateY(-4px); border-color: var(--line-green); box-shadow: 0 24px 50px -30px #000; }
.gd-person { background: var(--surface); border:1px solid var(--line); border-radius:10px; }
.gd-person .elementor-heading-title { color: var(--green); }
.gd-plink a, a.gd-plink { display:inline-block; font-family: var(--mono); font-size:13px; color: var(--green); border:1px solid var(--line-green); border-radius:8px; padding:12px 20px; background: var(--surface); transition: background .2s, color .2s; }
.gd-plink a:hover, a.gd-plink:hover { background: var(--green); color:#0e2b00; }
.gd-stat .elementor-heading-title { font-size: 40px; color: var(--green); } .netviz { position: relative; width: 100%; max-width: 470px; margin: 0 auto; aspect-ratio: 1 / 1; }
.netviz svg { width: 100%; height: 100%; overflow: visible; display: block; }
.nv-cable { stroke: rgba(75,202,0,.26); stroke-width: 1.3; }
.nv-hubglow { fill: rgba(75,202,0,.09); }
.nv-hubbg { fill: #12160f; stroke: var(--green); stroke-width: 2; filter: drop-shadow(0 0 16px rgba(75,202,0,.45)); }
.nv-pulse { fill: none; stroke: var(--green); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: nvpulse 2.8s ease-out infinite; }
.nv-pulse.b { animation-delay: 1.4s; }
@keyframes nvpulse { 0% { transform: scale(.55); opacity: .55; } 100% { transform: scale(2); opacity: 0; } }
.nv-logo { pointer-events: none; }
.nv-dev > circle { fill: #171b14; stroke: var(--line-green); stroke-width: 1.5; transition: stroke .2s; }
.nv-dev:hover > circle { stroke: var(--green); }
.nv-ic { stroke: var(--green); stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.nv-label { fill: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; text-anchor: middle; }
.nv-packet { fill: var(--green); filter: drop-shadow(0 0 4px rgba(75,202,0,.9)); } .ft { background: #0c0e0d; border-top: 1px solid var(--line); padding: 64px 0 32px; }
.ft__wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--wrap-inset); }
.ft__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.ft__logo { height: 48px; width: auto; opacity: .92; margin-bottom: 14px; }
.ft__brand p { color: var(--ink-dim); font-size: 14px; max-width: 42ch; }
.ft h4 { font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--green); margin: 0 0 16px; }
.ft ul, .ft__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.ft li, .ft a { color: var(--ink-dim); font-size: 14px; }
.ft a:hover { color: var(--green); }
.ft__bar { border-top: 1px solid var(--line); margin-top: 48px; padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-family: var(--mono); font-size: 11px; letter-spacing: .05em; color: var(--muted); } @media (max-width: 1024px){ .netviz { max-width: 400px; } }
@media (max-width: 760px){
:root { --hd-h: 96px; } .hd__nav { padding: 12px var(--wrap-inset); } .hd__menu-wrap { position: fixed; inset: var(--hd-h) 0 auto 0; background: rgba(11,14,12,.97); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); transform: translateY(calc(-100% - var(--hd-h))); visibility: hidden; transition: transform .3s ease, visibility .3s ease; }
.hd.menu-open .hd__menu-wrap { transform: translateY(0); visibility: visible; }
.hd__menu { flex-direction: column; gap: 0; padding: 10px 22px 20px; }
.hd__menu a { padding: 12px 0; font-size: 14px; } .hd__menu .sub-menu {
display: block; position: static; min-width: 0; margin: 0; padding: 0 0 6px 16px;
background: none; border: 0; border-radius: 0; box-shadow: none;
}
.hd__menu .sub-menu a { padding: 10px 0; font-size: 13px; color: var(--muted); }
.hd__menu .menu-item-has-children > a { background-image: none; padding-right: 0; }
.hd__burger { display: flex; }
.hd__fern { font-size: 11px; }
.hd__fern-inner { gap: 14px; }
.hd__note, .hd__fern-msg { display: none; }
.hd__fern-downloads { gap: 12px; }
.ft__grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (prefers-reduced-motion: reduce){
html { scroll-behavior: auto; }
.gd-scan, .gd-pill::before, .gd-pill .elementor-heading-title::before, .nv-pulse { animation: none; }
.nv-pulse { opacity: 0; }
.hd__fern li { transition: none; }
.hd__fern li:hover { transform: none; }
} .elementor-widget-heading .elementor-heading-title { color: var(--ink) !important; font-family: var(--ff-display) !important; }
.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-icon-list .elementor-icon-list-text { color: var(--ink-dim) !important; font-family: var(--sans) !important; }
.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a { color: var(--ink) !important; font-family: var(--ff-display) !important; }
.elementor-widget-icon-box .elementor-icon { color: var(--green) !important; background: rgba(75,202,0,.1) !important; border: 1px solid var(--line-green); border-radius: 10px; width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; }
.elementor-widget-icon-box .elementor-icon i { color: var(--green) !important; }
.elementor-widget-icon-box .elementor-icon svg { fill: var(--green) !important; } .elementor-widget-icon-box .elementor-icon i { font-size: 0 !important; line-height: 0; width: 30px; height: 30px; display: inline-block; background-repeat: no-repeat; background-position: center; background-size: contain; }
.elementor-widget-icon-box .elementor-icon i::before { content: none !important; }
.elementor-icon i.fa-network-wired { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='2.2'/><circle cx='5' cy='5' r='2'/><circle cx='19' cy='5' r='2'/><circle cx='12' cy='20' r='2'/><path d='M10.5 10.5 6.5 6.5M13.5 10.5 17.5 6.5M12 14.2V18'/></svg>"); }
.elementor-icon i.fa-desktop { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='13' rx='1.5'/><path d='M9 21h6M12 17v4'/></svg>"); }
.elementor-icon i.fa-globe { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3c3 3.5 3 14 0 18M12 3c-3 3.5-3 14 0 18'/></svg>"); }
.elementor-icon i.fa-download { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v11'/><path d='m7.5 9.5 4.5 4.5 4.5-4.5'/><path d='M4 18v2.5h16V18'/></svg>"); }
.elementor-icon i.fa-key { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='12' r='4'/><path d='M12 12h9M18 12v3.5M15.5 12v2.5'/></svg>"); }
.elementor-icon i.fa-eye { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234BCA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z'/><circle cx='12' cy='12' r='2.8'/></svg>"); }
.elementor-button, .elementor-button:visited { background-color: var(--green) !important; color: #0e2b00 !important; font-family: var(--mono) !important; letter-spacing: .06em; text-transform: uppercase; border-radius: 3px; }
.elementor-button:hover { background-color: var(--green-deep) !important; transform: translateY(-2px); } .elementor-element-fwcta01 .elementor-button { padding: 15px 18px !important; } .gd-os,
.elementor-element-fwdlw01 .elementor-button-content-wrapper::before,
.elementor-element-fwdlm01 .elementor-button-content-wrapper::before {
flex: 0 0 auto; display: inline-block; width: 15px; height: 15px;
background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
-webkit-mask-position: center; mask-position: center;
-webkit-mask-size: contain; mask-size: contain;
}
.elementor-element-fwdlw01 .elementor-button-content-wrapper,
.elementor-element-fwdlm01 .elementor-button-content-wrapper { display: inline-flex; align-items: center; }
.elementor-element-fwdlw01 .elementor-button-content-wrapper::before,
.elementor-element-fwdlm01 .elementor-button-content-wrapper::before { content: ""; margin-right: 10px; }
.gd-os--win,
.elementor-element-fwdlw01 .elementor-button-content-wrapper::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3 5.5 10.5 4.4V11.3H3Z'/%3E%3Cpath d='M11.6 4.25 21 3V11.3H11.6Z'/%3E%3Cpath d='M3 12.4H10.5V19.3L3 18.2Z'/%3E%3Cpath d='M11.6 12.4H21V21L11.6 19.75Z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M3 5.5 10.5 4.4V11.3H3Z'/%3E%3Cpath d='M11.6 4.25 21 3V11.3H11.6Z'/%3E%3Cpath d='M3 12.4H10.5V19.3L3 18.2Z'/%3E%3Cpath d='M11.6 12.4H21V21L11.6 19.75Z'/%3E%3C/svg%3E");
}
.gd-os--mac,
.elementor-element-fwdlm01 .elementor-button-content-wrapper::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M16.36 12.78c.02 2.7 2.36 3.6 2.39 3.61-.02.06-.37 1.28-1.23 2.53-.74 1.08-1.51 2.16-2.72 2.18-1.19.02-1.57-.71-2.93-.71s-1.78.69-2.9.73c-1.17.04-2.06-1.17-2.81-2.25-1.53-2.21-2.7-6.25-1.13-8.98.78-1.35 2.17-2.21 3.68-2.23 1.15-.02 2.23.77 2.93.77.7 0 2.02-.95 3.4-.81.58.02 2.21.23 3.26 1.76-.08.05-1.94 1.13-1.92 3.4'/%3E%3Cpath d='M14.14 4.6c.62-.75 1.04-1.79.92-2.83-.89.04-1.97.59-2.61 1.34-.57.66-1.08 1.72-.94 2.74.99.08 2.01-.5 2.63-1.25'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M16.36 12.78c.02 2.7 2.36 3.6 2.39 3.61-.02.06-.37 1.28-1.23 2.53-.74 1.08-1.51 2.16-2.72 2.18-1.19.02-1.57-.71-2.93-.71s-1.78.69-2.9.73c-1.17.04-2.06-1.17-2.81-2.25-1.53-2.21-2.7-6.25-1.13-8.98.78-1.35 2.17-2.21 3.68-2.23 1.15-.02 2.23.77 2.93.77.7 0 2.02-.95 3.4-.81.58.02 2.21.23 3.26 1.76-.08.05-1.94 1.13-1.92 3.4'/%3E%3Cpath d='M14.14 4.6c.62-.75 1.04-1.79.92-2.83-.89.04-1.97.59-2.61 1.34-.57.66-1.08 1.72-.94 2.74.99.08 2.01-.5 2.63-1.25'/%3E%3C/svg%3E");
} .gd-btn-ghost .elementor-button, .gd-btn-ghost .elementor-button:visited { background-color: transparent !important; color: var(--ink) !important; border: 1px solid var(--line-green); }
.gd-btn-ghost .elementor-button:hover { background-color: rgba(75,202,0,.10) !important; border-color: var(--green); color: var(--green) !important; } .elementor-widget-heading.gd-eyebrow .elementor-heading-title { color: var(--green-deep) !important; font-family: var(--mono) !important; font-size: 12px !important; letter-spacing: .26em; text-transform: uppercase; font-weight: 400 !important; }
.elementor-widget-heading.gd-kicker .elementor-heading-title { color: var(--muted) !important; font-family: var(--mono) !important; font-size: 12px !important; letter-spacing: .28em; text-transform: uppercase; font-weight: 400 !important; }
.elementor-widget-heading.gd-stat .elementor-heading-title { color: var(--green) !important; font-size: 40px !important; line-height: 1 !important; }
.elementor-widget-heading.gd-hero-title .elementor-heading-title { font-size: clamp(20px, 8vw, 56px) !important; line-height: 1.02 !important; letter-spacing: -.015em; }
.elementor-widget-heading.gd-hero-title .elementor-heading-title em { font-style: normal; color: var(--green); text-shadow: 0 0 26px rgba(75,202,0,.3); }
.elementor-widget-heading.gd-personname .elementor-heading-title { color: var(--green) !important; font-size: 21px !important; }
.gd-pill.elementor-widget-heading { text-align: left; }
.gd-pill.elementor-widget-heading .elementor-heading-title { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 10px; font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase; color: var(--green) !important; border: 1px solid var(--line-green); border-radius: 100px; padding: 7px 15px 7px 12px; background: rgba(75,202,0,.08); }
.gd-pill.elementor-widget-heading .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 0 var(--green-glow); animation: gd-pulse 2.4s ease-out infinite; }
.gd-lead.elementor-widget-text-editor, .gd-lead.elementor-widget-text-editor p { font-size: 17px !important; color: var(--ink-dim) !important; }
.gd-trustline { font-family: var(--mono) !important; font-size: 11.5px !important; color: var(--muted) !important; letter-spacing: .02em; }
.gd-fern-note.elementor-widget-text-editor, .gd-fern-note.elementor-widget-text-editor p { font-family: var(--mono) !important; font-size: 12px !important; color: var(--muted) !important; }
.gd-card { padding: 8px; } .elementor-widget-grimmedv_netzwerk_hero, .elementor-widget-grimmedv_netzwerk_hero > .elementor-widget-container { width: 100%; } .gd-partners { display: flex; flex-wrap: wrap; gap: 12px; }
.gd-partners .gd-plink { display: inline-block; font-family: var(--mono); font-size: 13px; color: var(--green) !important; border: 1px solid var(--line-green); border-radius: 8px; padding: 12px 20px; background: var(--surface); text-decoration: none !important; transition: background .2s, color .2s; }
.gd-partners .gd-plink:hover { background: var(--green); color: #0e2b00 !important; } body.is-front .elementor-5550 > .elementor-section:first-of-type,
body.is-front .elementor-5550 > .e-con:first-of-type {
position: relative; overflow: hidden; background: var(--bg); min-height: 100vh; min-height: 100dvh;
display: flex; align-items: center; padding-top: var(--hd-h); padding-bottom: 40px;
}
body.is-front .elementor-5550 > .elementor-section:first-of-type > .elementor-container,
body.is-front .elementor-5550 > .e-con:first-of-type > .e-con-inner { position: relative; z-index: 3; width: 100%; } @media (min-width: 768px) {
.elementor-column.elementor-col-100 { width: 100%; }
.elementor-column.elementor-col-58 { width: 58%; }
.elementor-column.elementor-col-42 { width: 42%; }
.elementor-column.elementor-col-60 { width: 60%; }
.elementor-column.elementor-col-40 { width: 40%; }
.elementor-column.elementor-col-55 { width: 55%; }
.elementor-column.elementor-col-45 { width: 45%; }
.elementor-column.elementor-col-50 { width: 50%; }
.elementor-column.elementor-col-33 { width: 33.3333%; }
.elementor-column.elementor-col-34 { width: 33.3333%; }
}
@media (max-width: 767px) {
.elementor-column { width: 100% !important; }
}