:root {
color-scheme: light;
--ink: #111111;
--ink-dark: #18205a;
--text: #4a4f5c;
--accent: #d01818;
--accent-dark: #a91212;
--mint: #eceffa;
--bg: #f6f7fb;
--line: #dfe2ee;
--white: #fff;
--container: 1180px;
--radius: 18px;
--shadow:none;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 132px; }
@font-face { font-family:"Inter"; src:url(//glitsch-gs.de/wp-content/themes/ggs-glitsch-elementor/assets/fonts/inter-var.woff2) format("woff2"); font-weight:100 900; font-display:swap; }
body { margin: 0; font: 400 16px/1.7 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--white); }
body, button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
a:hover { color: var(--accent-dark); }
button { font: inherit; cursor: pointer; }
img { max-width: 100%; display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); letter-spacing: -.035em; line-height: 1.15; }
h1 { font-size: clamp(2.8rem, 5.2vw, 5.1rem); font-weight: 750; }
h2 { font-size: clamp(2.1rem, 3.3vw, 3.35rem); font-weight: 730; }
h3 { font-size: 1.3rem; font-weight: 720; }
:focus-visible { outline: 3px solid #7f93e6; outline-offset: 4px; }
.wrap { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.skip { position: fixed; z-index: 100; top: -80px; left: 16px; background: #fff; color: #111; padding: 10px 18px; border-radius: 9px; }
.skip:focus { top: 12px; }
.eyebrow { display: inline-flex; gap: 10px; align-items: center; color: var(--accent); font-weight: 800; text-transform: uppercase; font-size: .76rem; letter-spacing: .16em; }
.eyebrow::before { content:""; width: 25px; height: 2px; background: currentColor; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; text-decoration: none; font-weight: 750; font-size: .93rem; line-height: 1.3; border-radius: 10px; border: 1px solid transparent; padding: 15px 21px; transition: background .18s, transform .18s, box-shadow .18s; }
.btn:hover { transform: translateY(-2px); text-decoration: none; }
.btn svg { flex: none; width: 18px; height: 18px; }
.btn-primary { background: var(--accent); color: white; box-shadow:none; }
.btn-primary:hover { color: white; background: var(--accent-dark); }
.btn-light { background: #fff; color: var(--ink); }
.btn-light:hover { color: var(--ink); background: #f1f3fb; }
.btn-outline { border-color: #d5d9ea; color: var(--ink); background: #fff; }
.btn-outline:hover { border-color: var(--accent); }
.topbar { background: var(--ink-dark); color: #d3d8ee; font-size: .79rem; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-height: 36px; }
.topbar a { color: inherit; text-decoration: none; }
.topbar a:hover { color: #fff; text-decoration: underline; }
.topbar-contacts { display: flex; gap: 24px; flex-wrap: wrap; }
.site-header { background: rgba(255,255,255,.97); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid #e6e8f2; backdrop-filter: blur(14px); }
.header-row { min-height: 84px; display: flex; align-items: center; gap: 32px; justify-content: space-between; }
.logo { display: inline-flex; align-items: center; text-decoration: none; gap: 12px; color: var(--ink); flex: none; }
.logo:hover { color: var(--ink); }
.logo-symbol { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 11px; color: white; background: var(--ink); font-size: 1.18rem; font-weight: 850; letter-spacing: -.09em; }
.logo-symbol::first-letter { color: #ff8585; }
.site-header { border-bottom: 3px solid transparent; border-image: linear-gradient(90deg,#d01818 0 50%,#283880 50%) 1; }
.eyebrow, .person-role, .reference-body small, .service-num { color: var(--accent); }
.hero .eyebrow { color: #ff8585; }
.logo-label { display: flex; flex-direction: column; line-height: 1.14; }
.logo-label strong { font-size: 1.03rem; letter-spacing: -.03em; }
.logo-label small { color: var(--text); font-size: .72rem; letter-spacing: .08em; margin-top: 6px; text-transform: uppercase; font-weight: 680; }
.site-nav { display: flex; align-items: center; gap: clamp(16px,2.1vw,32px); }
.site-nav > a:not(.btn) { text-decoration: none; color: #222; font-size: .88rem; font-weight: 700; white-space: nowrap; }
.site-nav > a:not(.btn):hover { color: var(--accent); }
.site-nav .btn { padding: 12px 17px; }
.menu-toggle { display: none; background: #eef0f8; border: 1px solid #d9ddee; color: var(--ink); width: 48px; height: 48px; border-radius: 10px; align-items: center; justify-content: center; }
.menu-toggle svg { width: 23px; height: 23px; }
.hero { background: var(--ink-dark); color: #d3d8ee; overflow: hidden; position: relative; }
.hero::after { content:""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; left: -160px; bottom: -260px; pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 570px; align-items: stretch; }
.hero-copy { position: relative; z-index: 2; padding: clamp(85px, 9vw, 130px) 65px 95px 0; }
.hero .eyebrow { color: #ff8585; }
.hero h1 { color: white; max-width: 650px; margin: 20px 0 26px; }
.hero h1 span { color: #ff8585; }
.hero-copy > p { max-width: 560px; font-size: 1.08rem; line-height: 1.85; color: #d3d8ee; margin-bottom: 34px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-art { position: relative; min-height: 460px; isolation: isolate; background: radial-gradient(circle at 70% 15%,#4a5bb0 0%,transparent 34%), linear-gradient(145deg,#283880,#18205a 72%); }
.hero-art::before { content:""; position: absolute; inset: 0; background-image: linear-gradient(to right,rgba(24,32,90,.1),rgba(24,32,90,.2)), url(//glitsch-gs.de/wp-content/themes/ggs-glitsch-elementor/img/slider-neu.jpg); background-position: center; background-size: cover; opacity: .66; }
.hero-art::after { content:""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--ink-dark),transparent 25%), linear-gradient(0deg,rgba(17,20,50,.5),transparent 46%); }
.hero-art .blueprint { position: absolute; width: 90%; height: 95%; inset: 5% 0 0 5%; z-index: 0; color: rgba(255,255,255,.2); }
.hero-note { position: absolute; bottom: 55px; left: 22px; right: 22px; z-index: 1; max-width: 320px; border: 1px solid rgba(255,255,255,.25); border-radius: 13px; padding: 19px 22px; background: rgba(24,32,90,.8); backdrop-filter: blur(12px); box-shadow:none; color: #fff; }
.hero-note strong { display:block; font-size:1rem; line-height:1.5; }
.hero-note small { color:#c9d0ee; font-size:.81rem; }
.proof { background: #eef0f8; border-bottom: 1px solid #dfe3f1; }
.proof-grid { display:grid; grid-template-columns: repeat(3,1fr); }
.proof-item { display: flex; align-items: center; gap: 14px; padding: 25px 30px; border-right:1px solid #d9ddee; }
.proof-item:first-child { padding-left:0; }
.proof-item:last-child { border-right:0; }
.proof-item svg { width: 27px; height: 27px; color:var(--accent); flex:none; }
.proof-item span { font-size:.83rem; font-weight:730; line-height:1.5; color:var(--ink); }
.section { padding: 104px 0; }
.section-light { background:var(--bg); }
.section-heading { max-width: 780px; margin-bottom: 42px; }
.section-heading h2 { margin: 14px 0 17px; }
.section-heading p { max-width:740px; font-size:1.01rem; }
.services { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:22px; align-items: stretch; }
.service { border:1px solid #e0e3ef; overflow:hidden; background:#fff; border-radius:var(--radius); box-shadow:none; }
.service-top { display:flex; gap:18px; padding:26px 28px 12px; }
.service-icon { background:var(--mint); border-radius:14px; display:grid; place-items:center; width:52px; height:52px; flex:none; color:var(--accent-dark); }
.service-icon svg { width:26px; height:26px; }
.service-num { color:var(--accent); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.service h3 { font-size:1.43rem; margin:4px 0 4px; }
.service { display:flex; flex-direction:column; }
.service-content { padding:0 28px 26px; flex:1; display:flex; flex-direction:column; }
.service details { margin-top:auto; }
.service.row-open { align-self:start; }
.service-content > p { line-height:1.76; margin: 10px 0 17px; }
.service details { padding-top:10px; border-top:1px solid #e3e6f1; }
.service summary { color:var(--accent-dark); font-size:.91rem; font-weight:750; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:9px 0 0; }
.service summary::-webkit-details-marker { display:none; }
.service summary::after { content:"+"; font-size:1.45rem; font-weight:400; line-height:1; }
.service details[open] summary::after { content:"−"; }
.service .extra { padding-top:18px; font-size:.91rem; }
.service .extra p { margin:0 0 13px; }
.inline-link { text-underline-offset:3px; font-weight:650; color:var(--accent-dark); }
.feature-band { background:#eceffa; border-radius:21px; margin-top:35px; padding:31px 35px; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.feature-band strong { color:var(--ink); font-size:1.2rem; line-height:1.4; }
.feature-band p { margin:5px 0 0; font-size:.91rem; }
.feature-band .btn { flex:none; }
.references-head { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:29px; }
.references-head .section-heading { margin:0; }
.slider-controls { display:flex; gap:9px; }
.slider-controls button { border:1px solid var(--line); width:46px; height:46px; border-radius:50%; color:var(--ink); background:#fff; display:grid; place-items:center; transition:background .18s; }
.slider-controls button:hover:not(:disabled) { color:#fff; background:var(--accent); }
.slider-controls button:disabled { opacity:.35; cursor:not-allowed; }
.slider-controls svg { width:20px; height:20px; }
.references-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 44px) / 3); gap:22px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding:1px; padding:5px 2px 16px; scrollbar-width:thin; }
.reference-card { overflow:hidden; min-width:0; border-radius:16px; border:1px solid var(--line); background:#fff; scroll-snap-align:start; }
.reference-media { aspect-ratio:1.42; overflow:hidden; background:linear-gradient(145deg,#c9d0ee,#283880); position:relative; }
.reference-media::before { content:""; position:absolute; inset:15% 13%; border:2px solid rgba(255,255,255,.23); transform:skewY(-9deg); border-radius:4px; }
.reference-media::after { content:""; position:absolute; width:45%; height:55%; left:28%; bottom:-12%; background:repeating-linear-gradient(90deg,transparent 0 16%,rgba(255,255,255,.25) 17% 19%); transform:skewY(-10deg); }
.reference-media img { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.reference-card:hover .reference-media img { transform:scale(1.045); }
.reference-body { padding:20px 21px; }
.reference-body small { display:block; font-size:.7rem; font-weight:750; color:var(--accent); letter-spacing:.11em; text-transform:uppercase; margin-bottom:7px; }
.reference-body h3 { font-size:1.09rem; margin:0; line-height:1.45; }
.team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.person { border-radius:16px; overflow:hidden; background:#fff; border:1px solid var(--line); }
.person-photo { position:relative; aspect-ratio:1/.92; background:linear-gradient(140deg,#dfe3f5,#aab5e0); overflow:hidden; display:grid; place-items:center; }
.person-photo span { color:#283880; font-size:3.1rem; font-weight:750; letter-spacing:-.07em; }
.person-photo img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:center 22%; }
.person-body { padding:22px 19px 25px; }
.person-body h3 { font-size:1.18rem; margin:0 0 6px; }
.person-role { color:var(--accent-dark); font-size:.84rem; font-weight:750; line-height:1.5; min-height:40px; margin-bottom:12px; }
.person-body p:not(.person-role) { font-size:.86rem; line-height:1.63; min-height:96px; margin-bottom:16px; }
.person-body a { color:var(--accent-dark); font-size:.79rem; overflow-wrap:anywhere; font-weight:750; text-underline-offset:3px; }
.contact { background:var(--ink-dark); color:#d3d8ee; }
.contact-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:9%; align-items:start; }
.contact .eyebrow { color:#ff8585; }
.contact h2 { color:#fff; margin:15px 0 22px; }
.contact .intro { font-size:1.05rem; max-width:570px; }
.contact .btn-primary { background:#d01818; color:#ffffff; }
.contact .btn-primary:hover { background:#a91212; }
.contact-card { background:#232f73; border:1px solid #4a5bb0; border-radius:18px; padding:32px 35px; }
.contact-card h3 { color:#fff; margin-bottom:24px; }
.contact-row { display:grid; grid-template-columns:25px 1fr; align-items:start; gap:14px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #4a5bb0; }
.contact-row:last-child { margin:0; padding:0; border:0; }
.contact-row svg { width:21px; height:21px; color:#d01818; margin-top:3px; }
.contact-row a { color:#fff; text-decoration:none; }
.contact-row a:hover { text-decoration:underline; }
.contact-row strong { display:block; color:#fff; font-size:.82rem; margin-bottom:3px; }
.footer { background:#111111; color:#b9bdd0; padding:30px 0; font-size:.82rem; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.footer a { color:#fff; text-decoration:none; }
.footer a:hover { text-decoration:underline; }
.footer-links { display:flex; gap:22px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
@media (max-width:1060px) {
.site-nav { gap:16px; }
.site-nav > a:not(.btn) { font-size:.81rem; }
.team-grid { grid-template-columns:repeat(2,1fr); }
.person-body p:not(.person-role) { min-height:0; }
}
@media (max-width:900px) {
.header-row { min-height:74px; }
.menu-toggle { display:inline-flex; }
.site-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; box-shadow:none; padding:15px max(24px,calc((100% - var(--container)) / 2)) 24px; border-top:1px solid var(--line); align-items:stretch; flex-direction:column; gap:0; }
.site-nav[data-open="true"] { display:flex; }
.site-nav > a:not(.btn) { padding:13px 4px; font-size:1rem; }
.site-nav .btn { margin-top:9px; }
.hero-grid { grid-template-columns:1fr; }
.hero-copy { padding:72px 0 57px; }
.hero-art { min-height:300px; margin-inline:-24px; }
.hero-note { bottom:20px; left:24px; }
.references-track { grid-auto-columns:calc((100% - 22px)/2); }
}
@media (max-width:640px) {
html { scroll-padding-top:120px; }
.wrap { width:min(calc(100% - 36px),var(--container)); }
.topbar .wrap { justify-content:center; min-height:35px; }
.topbar-label { display:none; }
.topbar-contacts { justify-content:center; gap:14px; font-size:.72rem; }
.logo-symbol { width:43px; height:43px; font-size:1rem; }
.logo-label strong { font-size:.88rem; }
.logo-label small { font-size:.59rem; }
.hero-copy { padding:61px 0 48px; }
.hero h1 { font-size:clamp(2.6rem,11vw,4.1rem); }
.hero-copy > p { font-size:1rem; }
.hero-art { min-height:285px; margin-inline:-18px; }
.hero-actions .btn { width:100%; }
.proof-grid { grid-template-columns:1fr; }
.proof-item, .proof-item:first-child { padding:16px 0; border:0; border-bottom:1px solid #d9ddee; }
.proof-item:last-child { border:0; }
.section { padding:72px 0; }
.services, .contact-grid { grid-template-columns:1fr; }
.service-top { padding:23px 21px 6px; }
.service-content { padding:0 21px 22px; }
.service h3 { font-size:1.2rem; }
.feature-band { padding:25px; flex-direction:column; align-items:flex-start; }
.references-head { flex-direction:column; align-items:stretch; gap:8px; }
.slider-controls { align-self:flex-end; }
.references-track { grid-auto-columns:83%; gap:15px; }
.team-grid { grid-template-columns:1fr; }
.person { display:grid; grid-template-columns:36% 1fr; }
.person-photo { height:100%; aspect-ratio:auto; }
.person-body { padding:18px; }
.person-role { min-height:0; }
.contact-grid { gap:32px; }
.contact-card { padding:24px; }
.footer-inner { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } } .logo-symbol {position:relative; overflow:hidden;}
.logo-symbol img {position:absolute; inset:0; height:100%; width:100%; object-fit:contain; background:#fff; border-radius:9px; z-index:2;}
.hero-art::before {background-image:none;}
.hero-photo {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.82; z-index:0;}
.hero-art .blueprint {z-index:0; pointer-events:none;}
.hero-art::after {z-index:1; pointer-events:none;}
.hero-note {z-index:2;}
.service-media {aspect-ratio:2.65; background:linear-gradient(135deg,#c9d0ee,#283880); overflow:hidden; position:relative;}
.service-media:after {content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(24,32,90,.18),transparent 65%); pointer-events:none;}
.service-media img {width:100%; height:100%; object-fit:cover; position:relative; z-index:1;}
.service-media:has(img[hidden]) {display:none;}
.person-photo img[hidden], .reference-media img[hidden], .hero-photo[hidden], .logo-symbol img[hidden] {display:none!important;}
@media(max-width:640px) {.service-media {aspect-ratio:2.5;}} .hero-slider { position:relative; background:#111; height:clamp(500px,48vw,620px); overflow:hidden; color:#fff; }
.hs-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .9s ease, visibility .9s; }
.hs-slide.on { opacity:1; visibility:visible; z-index:1; }
.hs-slide > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; transform:scale(1.08); transition:transform 8s ease-out; }
.hs-slide.on > img { transform:scale(1); }
.hs-slide::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(10,10,12,.82) 0%,rgba(10,10,12,.55) 38%,rgba(10,10,12,.08) 68%,rgba(10,10,12,0) 100%), linear-gradient(0deg,rgba(10,10,12,.45),transparent 40%); }
.hs-copy { position:absolute; z-index:2; left:max(24px,calc((100% - 1180px)/2)); bottom:110px; max-width:600px; }
.hs-copy .eyebrow { color:#ff8585; }
.hs-copy h1, .hs-copy h2 { color:#fff; font-size:clamp(2.3rem,4.6vw,4.2rem); line-height:1.07; margin:16px 0 18px; letter-spacing:-.04em; font-weight:760; }
.hs-copy h1 span { color:#ff8585; }
.hs-copy p { color:#d9ddf2; font-size:1.06rem; line-height:1.8; max-width:540px; margin:0 0 28px; }
.hs-slide .eyebrow, .hs-slide h1, .hs-slide h2, .hs-slide p, .hs-slide .hero-actions { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.hs-slide.on .eyebrow { opacity:1; transform:none; transition-delay:.25s; }
.hs-slide.on h1, .hs-slide.on h2 { opacity:1; transform:none; transition-delay:.4s; }
.hs-slide.on p { opacity:1; transform:none; transition-delay:.55s; }
.hs-slide.on .hero-actions { opacity:1; transform:none; transition-delay:.7s; }
.hs-ui { position:absolute; z-index:5; right:max(24px,calc((100% - 1180px)/2)); bottom:38px; display:flex; align-items:center; gap:14px; }
.hs-arrow { width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.1); backdrop-filter:blur(8px); color:#fff; font-size:26px; line-height:1; padding:0 0 3px; transition:background .2s, border-color .2s; }
.hs-arrow:hover { background:#d01818; border-color:#d01818; }
.hs-dots { display:flex; gap:8px; }
.hs-dots button { border:0; padding:0; width:12px; height:12px; border-radius:99px; background:rgba(255,255,255,.4); transition:width .3s, background .3s; }
.hs-dots button.on { width:34px; background:#d01818; }
.hs-progress { position:absolute; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.15); z-index:5; }
.hs-progress i { display:block; height:100%; width:0; background:linear-gradient(90deg,#d01818,#283880 160%); }
@media (max-width:760px) {
.hero-slider { height:640px; }
.hs-slide::before { background:linear-gradient(0deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.7) 55%,rgba(10,10,12,.15) 100%); }
.hs-copy { left:20px; right:20px; bottom:96px; }
.hs-copy p { font-size:.98rem; }
.hs-ui { left:20px; right:20px; justify-content:space-between; bottom:28px; }
} html,body { overflow-x:clip; } .ref-slider { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:24px; align-items:stretch; }
.ref-stage { position:relative; min-width:0; align-self:start; border-radius:22px; overflow:hidden; background:#18205a; box-shadow:none; }
.ref-stage::before { content:""; display:block; padding-top:75%; }
.ref-slides, .ref-slides img { position:absolute; inset:0; width:100%; height:100%; }
.ref-slides img { object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .7s ease, transform 6s ease-out; }
.ref-slides img.on { opacity:1; transform:scale(1); }
.ref-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(17,20,50,.85),transparent 48%); pointer-events:none; }
.ref-caption { position:absolute; z-index:2; left:28px; right:90px; bottom:30px; color:#fff; }
.ref-caption small { display:block; color:#ff8585; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; margin-bottom:6px; }
.ref-caption strong { font-size:clamp(1.2rem,2.2vw,1.8rem); letter-spacing:-.02em; line-height:1.25; }
.ref-count { position:absolute; z-index:2; top:20px; left:20px; background:rgba(17,20,50,.6); backdrop-filter:blur(8px); color:#cfd5f0; border-radius:99px; padding:6px 14px; font-size:.82rem; font-weight:700; }
.ref-count b { color:#fff; }
.ref-arrow { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:#18205a; font-size:26px; line-height:1; padding:0 0 3px; box-shadow:none; transition:background .2s,color .2s; }
.ref-arrow:hover { background:#d01818; color:#fff; }
.ref-prev { left:16px; } .ref-next { right:16px; }
.ref-bar { position:absolute; z-index:3; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.2); }
.ref-bar i { display:block; height:100%; width:0; background:#d01818; }
.ref-side { position:relative; min-height:0; }
.ref-list { position:absolute; inset:0; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:6px; scrollbar-width:thin; scrollbar-color:#d01818 #e3e6f1; }
.ref-item { display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px 14px 8px 8px; position:relative; flex:none; transition:border-color .2s, box-shadow .2s, transform .2s; }
.ref-item:hover { border-color:#c3c9e6; transform:translateX(3px); }
.ref-item.on { border-color:#d01818; box-shadow:none; }
.ref-item.on::before { content:""; position:absolute; left:-1px; top:12px; bottom:12px; width:4px; border-radius:4px; background:#d01818; }
.ref-item img { width:72px; height:54px; object-fit:cover; border-radius:9px; flex:none; }
.ref-item span { display:block; min-width:0; }
.ref-item small { display:block; font-size:.68rem; font-weight:800; color:#d01818; text-transform:uppercase; letter-spacing:.1em; }
.ref-item strong { display:block; color:var(--ink); font-size:.93rem; line-height:1.35; }
@media (max-width:900px) {
.ref-slider { grid-template-columns:minmax(0,1fr); }
.ref-side { height:auto; }
.ref-list { position:static; flex-direction:row; overflow-x:auto; overflow-y:hidden; padding:2px 2px 12px; }
.ref-item { width:250px; }
.ref-caption { left:18px; right:18px; bottom:20px; }
.ref-arrow { width:40px; height:40px; }
} .footer { display:none; }
.site-footer { background:#111; color:#b9bdd0; font-size:.93rem; border-top:5px solid transparent; border-image:linear-gradient(90deg,#d01818 0 50%,#283880 50%) 1; position:relative; }
.footer-cols { display:grid; grid-template-columns:1.5fr .8fr 1.1fr; gap:56px; padding:68px 0 54px; }
.f-logo { display:inline-block; background:#fff; border-radius:12px; padding:10px 14px; margin-bottom:22px; }
.f-logo img { height:58px; width:auto; }
.site-footer p { margin:0 0 14px; max-width:420px; line-height:1.75; }
.site-footer a { color:#fff; text-decoration:none; }
.site-footer a:hover { color:#ff8585; text-decoration:underline; }
.f-member { font-size:.84rem; color:#8f94ad; }
.site-footer h4 { color:#fff; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; margin:6px 0 22px; padding-bottom:12px; position:relative; }
.site-footer h4::after { content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background:#d01818; border-radius:3px; }
.site-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.f-contact li:first-child { color:#fff; font-weight:700; }
.f-bottom { border-top:1px solid rgba(255,255,255,.1); background:#0a0a0a; font-size:.83rem; }
.f-bottom .wrap { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:20px 0; }
.f-legal { display:flex; gap:24px; }
@media (max-width:900px) { .footer-cols { grid-template-columns:1fr 1fr; gap:40px; padding:52px 0 40px; } .f-brand { grid-column:1/-1; } }
@media (max-width:560px) { .footer-cols { grid-template-columns:1fr; } .f-bottom .wrap { flex-direction:column; align-items:flex-start; } } .hs-pause, .ref-pause {
font: inherit; font-size: .82rem; font-weight: 750; min-width: 56px; min-height: 44px;
border-radius: 10px; padding: 8px 12px; cursor: pointer;
border: 1px solid rgba(255,255,255,.65); color: #fff; background: rgba(24,32,90,.9);
}
.hs-pause:hover, .ref-pause:hover { color: #fff; background: #a91212; }
.ref-pause { position: absolute; z-index: 4; top: 15px; right: 15px; }
.hs-dots { align-items:center; gap: 0; }
.hs-dots button, .hs-dots button.on {
display: grid; place-items: center; width: 32px; min-width: 32px; height: 44px;
border: 0; padding: 0; background: transparent; border-radius: 8px;
}
.hs-dots button::before { content:""; width: 12px; height: 12px; border-radius: 20px; background: #dce1ec; }
.hs-dots button.on::before { width: 21px; background: #ff8c8c; }
.hs-dots button:focus-visible, .hs-pause:focus-visible, .ref-pause:focus-visible,
.hs-arrow:focus-visible, .ref-arrow:focus-visible, .ref-item:focus-visible {
outline: 3px solid #ffd24a; outline-offset: 2px;
}
@media (max-width: 760px) {
.hs-ui { gap: 4px; }
.hs-pause { min-width: 48px; padding: 8px; }
.hs-dots button, .hs-dots button.on { width: 26px; min-width: 26px; }
} .f-legal { flex-wrap: wrap; align-items: center; row-gap: 8px; }
@media (max-width: 560px) { .f-legal { gap: 10px 18px; } }.site-nav a:not(.btn) { text-decoration:none; color:#222; font-size:.88rem; font-weight:700; white-space:nowrap; }
.site-nav a:not(.btn):hover, .site-nav .current-menu-item > a { color:var(--accent); }
.nav-links { display:flex; gap:26px; list-style:none; margin:0; padding:0; align-items:center; }
.ggs-content { padding:64px 0 80px; min-height:50vh; }
.ggs-prose { max-width:860px; overflow-wrap:anywhere; }
.ggs-prose h1 { font-size:clamp(2rem,5vw,3rem); margin:12px 0 28px; }
.ggs-prose h2 { font-size:1.3rem; margin:40px 0 10px; }
.ggs-prose h3 { font-size:1.1rem; margin-top:24px; }
.ggs-prose address { font-style:normal; }
.ggs-prose a:not(.btn) { color:var(--accent-dark); text-underline-offset:3px; }
.ggs-prose .eyebrow::before { display:none; }
.ggs-post { padding-bottom:32px; margin-bottom:32px; border-bottom:1px solid var(--line); }
.ggs-prose input, .ggs-prose textarea { max-width:100%; font:inherit; padding:10px; border:1px solid var(--line); border-radius:6px; }
.ggs-prose input[type="submit"] { background:var(--accent); color:#fff; cursor:pointer; }
.ggs-prose pre { overflow-x:auto; }
.ggs-prose table { display:block; overflow-x:auto; max-width:100%; }
.ggs-prose .wp-post-image { margin-bottom:24px; height:auto; }
.ggs-prose .page-numbers { display:inline-block; margin:4px; padding:8px 12px; border:1px solid var(--line); }
.f-legal { flex-wrap:wrap; }
@media (max-width:1060px) { .nav-links { gap:16px; } .site-nav a:not(.btn) { font-size:.81rem; } }
@media (max-width:900px) {
.nav-links { flex-direction:column; align-items:stretch; gap:0; }
.site-nav a:not(.btn) { display:block; padding:13px 4px; font-size:1rem; }
}
@media (max-width:640px) { .ggs-content { padding:36px 0 52px; } }.ggs-header-shell { position: -webkit-sticky; position: sticky; top: 0; z-index: 1000; width: 100%; background: #fff; } .ggs-header-shell .site-header { position: relative; top: 0; } body.admin-bar .ggs-header-shell { top: 32px; }
.elementor-widget[class*="elementor-widget-ggs-"] { width:100%; margin-bottom:0; font-family:"Inter",system-ui,sans-serif; }
.elementor-widget[class*="elementor-widget-ggs-"] .elementor-widget-container { font-family:inherit; }
.elementor-widget[class*="elementor-widget-ggs-"] a { text-decoration:none; }
.elementor-widget[class*="elementor-widget-ggs-"] .inline-link { text-decoration:underline; }
.elementor-widget[class*="elementor-widget-ggs-"] button { box-shadow:none; font-family:inherit; }
.elementor-widget[class*="elementor-widget-ggs-"] .hs-arrow,
.elementor-widget[class*="elementor-widget-ggs-"] .ref-arrow { padding:0; }
.elementor-widget[class*="elementor-widget-ggs-"] .menu-toggle { padding:0; }
.elementor-widget[class*="elementor-widget-ggs-"] .hs-slide h1,
.elementor-widget[class*="elementor-widget-ggs-"] .hs-slide h2 { color:#fff; }
.elementor-widget[class*="elementor-widget-ggs-"] .ref-stage { min-width:0; }
.elementor-widget-ggs-hero .hs-slide > img,
.elementor-widget-ggs-references .ref-slides > img,
.elementor-widget-ggs-services .service-media > img,
.elementor-widget-ggs-team .person-photo > img { width:100%; height:100%; object-fit:cover; }
.ref-slides > img:first-child { opacity:1; }
.ref-slides > img:not(.on):not(:first-child) { opacity:0; }
.ref-slider.ggs-initialized .ref-slides > img:not(.on) { opacity:0; }
.ggs-intro p { margin-bottom:0; }
.ggs-feature-wrap { padding-bottom:104px; }
.ggs-feature-wrap .feature-band { margin-top:0; }
.elementor-widget-ggs-services .section { padding-bottom:32px; }
.ggs-elementor-page .elementor-widget-heading h1 { font-family:inherit; color:var(--ink); }
.ggs-elementor-page .elementor-widget-text-editor { color:var(--text); font-family:inherit; }
.ggs-elementor-page > .elementor > .e-con { max-width:860px; margin-inline:auto; padding:64px 24px 80px; }
.elementor-editor-active .hs-slide.on .eyebrow,
.elementor-editor-active .hs-slide.on h1,
.elementor-editor-active .hs-slide.on h2,
.elementor-editor-active .hs-slide.on p,
.elementor-editor-active .hs-slide.on .hero-actions { opacity:1; transform:none; transition:none; }
@media (max-width:782px) { body.admin-bar .ggs-header-shell { top:46px; } }
@media (max-width:640px) {
.ggs-feature-wrap { padding-bottom:72px; }
.ggs-elementor-page > .elementor > .e-con { padding:36px 18px 52px; }
}
@media (max-width:600px) { body.admin-bar .ggs-header-shell { top:0; } }