/*
 * Header + footer (prototype "GAP Projektfilter", 2026-10): fonts, colours and gutter from the global styles
 * (--gap-serif / --gap-sans, ink #000, service colours of the Projekte pills, --gap-card-gutter). Mobile menu ≤ 900px.
 */
:root{--gap-nav-gutter:clamp(17px,2vw,30px);--gap-nav-gold:#999852;--gap-nav-rust:#a8422e;--gap-nav-blue:#1408ff;--gap-nav-yellow:#f2ff00}
.gap-nav-locked,.gap-nav-locked body{overflow:hidden}
.gap-skip-link{line-height:1.6}

/* ---- Header ---- */
.gap-nav{position:sticky;top:0;z-index:100;background:var(--gap-paper);color:var(--gap-ink);border-bottom:1px solid var(--gap-line);font-family:var(--gap-sans);transition:transform .3s ease}
.gap-nav.is-hidden{transform:translateY(-100%)}
.admin-bar .gap-nav{top:32px}
@media(max-width:782px){.admin-bar .gap-nav{top:0}}
.gap-nav__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:18px var(--gap-nav-gutter)}
.gap-nav__logo{display:block;padding-block:4px;color:inherit;text-decoration:none}
.gap-nav__logo svg{display:block;width:auto;height:20px}   /* logo wordmark from the GAP stylesheet (vector), ~152px wide */
.gap-nav__menu{display:flex;align-items:center;gap:clamp(16px,1.9vw,26px);margin:0;padding:0;list-style:none;font:500 clamp(1.125rem,1.6vw,1.5rem)/1.15 var(--gap-sans);letter-spacing:-.02em}   /* same as the page intro text (.gap-hero__info) */
.gap-nav__item{position:relative}
.gap-nav__link{display:inline-flex;align-items:baseline;gap:4px;padding-block:4px;color:inherit;text-decoration:none;white-space:nowrap;transition:opacity .2s}
.gap-nav__menu:hover>.gap-nav__item>.gap-nav__link{opacity:.35}
.gap-nav__menu>.gap-nav__item:hover>.gap-nav__link,.gap-nav__menu .gap-nav__link:focus-visible{opacity:1}
.gap-nav__link.is-current .gap-nav__label{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px}
.gap-nav__link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.gap-nav__new{position:relative;top:-.6em;margin-right:3px;font:500 10px/1 var(--gap-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gap-nav-blue)}
.gap-nav__pm{display:inline-flex;align-self:center;margin-left:2px}
.gap-nav__pm svg{display:block;width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;overflow:visible}
.gap-nav__pm-v{transform-origin:6px 6px;transition:transform .25s}
[aria-expanded="true"]>.gap-nav__pm .gap-nav__pm-v{transform:scaleY(0)}
.gap-nav__link--at{position:relative;padding-right:30px}
.gap-nav__link--at img{position:absolute;top:50%;right:0;width:24px;height:22px;transform:translateY(-50%)}
.gap-nav__dd{position:absolute;top:calc(100% + 16px);left:-22px;z-index:30;display:flex;flex-direction:column;min-width:260px;padding:10px 26px 12px 22px;background:var(--gap-paper);border:1px solid var(--gap-line);border-radius:16px}
.gap-nav__dd[hidden]{display:none}
.gap-nav__dd::before{content:"";position:absolute;top:-20px;right:0;left:0;height:20px}
.gap-nav__dd a{padding:6px 0;font:400 26px/1.15 var(--gap-serif);color:var(--gap-ink);text-decoration:none}
.gap-nav__dd a:hover,.gap-nav__dd a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.gap-nav__accent--gold{--gap-nav-c:var(--gap-nav-gold)}.gap-nav__accent--rust{--gap-nav-c:var(--gap-nav-rust)}.gap-nav__accent--ink{--gap-nav-c:var(--gap-ink)}.gap-nav__accent--blue{--gap-nav-c:var(--gap-nav-blue)}
.gap-nav__dd a[class*="gap-nav__accent"]{color:var(--gap-nav-c)}
.gap-nav__mobile-actions{display:none;align-items:center;gap:4px}
.gap-nav__at,.gap-nav__burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}
.gap-nav__at img{width:26px;height:24px}
.gap-nav__burger{padding:0;border:0;background:none;color:inherit;cursor:pointer}
.gap-nav__burger svg{fill:none;stroke:currentColor;stroke-width:2}
.gap-nav__icon-close,.gap-nav__burger[aria-expanded="true"] .gap-nav__icon-open{display:none}
.gap-nav__burger[aria-expanded="true"] .gap-nav__icon-close{display:block}
.gap-nav__mobile{position:fixed;top:var(--gap-nav-h,61px);right:0;bottom:0;left:0;z-index:99;overflow:auto;background:var(--gap-paper);opacity:0;pointer-events:none;transform:translateY(-8px);visibility:hidden;transition:opacity .22s,transform .22s,visibility 0s .22s}
.gap-nav__mobile.is-open{opacity:1;pointer-events:auto;transform:none;visibility:visible;transition:opacity .22s,transform .22s}
.gap-nav__mobile-in{display:flex;flex-direction:column;min-height:100%;padding:20px 28px 24px}
.gap-nav__mobile-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.gap-nav__mobile-list>li>a,.gap-nav__mobile-list>li>button{display:inline-flex;align-items:baseline;gap:2px;padding:12px 0;border:0;background:none;font:500 23px/1.1 var(--gap-sans);letter-spacing:-.02em;color:var(--gap-ink);text-align:left;text-decoration:none;cursor:pointer}
.gap-nav__mobile-list .gap-nav__pm{margin-left:5px}
.gap-nav__mobile-list .gap-nav__pm svg{width:10px;height:10px}
.gap-nav__mobile-list .gap-nav__new{top:-.7em;margin:0 0 0 5px;font-size:9px}
.gap-nav__mobile-sub{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 16px 20px}
.gap-nav__mobile-sub[hidden]{display:none}
.gap-nav__tag{display:inline-flex;align-items:center;min-height:38px;padding:0 15px 1px;border:1px solid var(--gap-nav-c,var(--gap-ink));border-radius:999px;font:500 14px/1 var(--gap-sans);color:var(--gap-nav-c,var(--gap-ink));text-decoration:none}
.gap-nav__tag--all{margin-right:100%}
.gap-nav__tag:active{background:var(--gap-nav-c,var(--gap-ink));color:var(--gap-paper)}
/* Burger submenu like the desktop dropdown (.gap-nav__dd): a rounded box with a thin rule, entries in the serif in their service colour. */
.gap-nav__mobile-sub{flex-direction:column;flex-wrap:nowrap;gap:0;margin:6px 0 16px;padding:10px 26px 12px 22px;border:1px solid var(--gap-line);border-radius:16px;background:var(--gap-paper)}
.gap-nav__mobile-sub .gap-nav__tag{display:block;min-height:0;margin:0;padding:6px 0;border:0;border-radius:0;font:400 26px/1.15 var(--gap-serif);color:var(--gap-nav-c,var(--gap-ink));background:none}
.gap-nav__mobile-sub .gap-nav__tag:is(:hover,:focus-visible,:active){background:none;color:var(--gap-nav-c,var(--gap-ink));text-decoration:underline;text-underline-offset:5px}
.gap-nav__social{display:flex;gap:18px;margin:auto 0 0;padding-top:32px}
.gap-nav__social a,.gap-foot__social a{display:inline-flex;color:var(--gap-ink)}
.gap-nav__mobile-contact{display:flex;flex-direction:column;margin:0;padding-top:18px;font:400 15px/1.3 var(--gap-sans)}
.gap-nav__mobile-contact a{display:inline-block;width:max-content;min-height:44px;padding:11px 0;color:var(--gap-ink);text-underline-offset:4px}
@media(max-width:900px){.gap-nav__desktop{display:none}.gap-nav__mobile-actions{display:flex}.gap-nav__bar{padding-block:8px}}
@media(min-width:901px){.gap-nav__mobile{display:none}}

/* ---- Footer ---- */
.gap-foot{border-top:1px solid var(--gap-line);background:var(--gap-paper);color:var(--gap-ink);font-family:var(--gap-sans)}
.gap-foot a{color:inherit}
.gap-foot h2{margin:0;letter-spacing:0}
.gap-foot__news,.gap-foot__top,.gap-foot__seo,.gap-foot__bottom{padding-right:var(--gap-nav-gutter);padding-left:var(--gap-nav-gutter)}
.gap-foot__news{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);align-items:center;gap:24px 56px;padding-top:56px;padding-bottom:72px;border-bottom:1px solid var(--gap-line)}
.gap-foot__news--no-image{grid-template-columns:minmax(0,1fr)}
.gap-foot__mac{align-self:center;margin:-56px 0 -24px -4%}
.gap-foot__mac img{display:block;width:100%;max-width:360px;height:auto}
.gap-foot__news-form{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:720px}
.gap-foot__news-title{font:400 clamp(44px,6.2vw,96px)/.98 var(--gap-serif);letter-spacing:-.01em}
.gap-foot__news-title span,.gap-foot__sign span{text-decoration:underline;text-underline-offset:.1em;text-decoration-thickness:.045em}
.gap-foot__news-text{margin:14px 0 0;max-width:40ch;font:400 16px/1.4 var(--gap-sans)}
.gap-foot__news-row{position:relative;display:flex;align-items:baseline;gap:0 .3em;width:min(620px,calc(100% - clamp(0px,14%,160px)));margin:26px 0 0 clamp(0px,14%,160px);padding-right:150px;font:400 clamp(24px,3vw,42px)/1.1 var(--gap-serif)}
.gap-foot__news-row[hidden]{display:none}
.gap-foot__news-arrow{flex:0 0 auto;position:relative;top:-.1em;width:.8em;height:.8em;margin-right:.12em;fill:currentColor}
.gap-foot__news-row input{flex:1 1 auto;min-width:0;padding:0 0 .12em;border:0;border-bottom:1.5px solid var(--gap-ink);border-radius:0;background:transparent;font:inherit;color:var(--gap-ink);outline:none;caret-color:var(--gap-nav-blue)}
.gap-foot__news-row input::placeholder{color:var(--gap-ink);opacity:.4}
.gap-foot__news-row input:focus{border-bottom:2px solid var(--gap-nav-blue)}
.gap-foot__sticker{position:absolute;top:50%;right:0;padding:12px 20px 13px;border:1px solid var(--gap-ink);border-radius:16px;background:var(--gap-nav-yellow);font:500 20px/1.1 var(--gap-sans);color:var(--gap-ink);cursor:pointer;transform:translateY(-58%) rotate(8deg);transition:transform .25s var(--gap-ease)}
.gap-foot__sticker span{text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:.045em}
.gap-foot__sticker:hover,.gap-foot__sticker:focus-visible{outline:none;transform:translateY(-58%) rotate(-3deg) scale(1.06)}
.gap-foot__sticker:focus-visible{box-shadow:0 0 0 2px var(--gap-paper),0 0 0 4px var(--gap-ink)}
.gap-foot__news-msg{margin:12px 0 0;font:500 16px/1.4 var(--gap-sans)}
.gap-foot__news-msg--error{color:var(--gap-nav-rust)}
/* Confirmation after signing up: as big as the footer signature „Gehen wir gemeinsam in den Park.“ so it is not missed. */
.gap-foot__news-msg--ok{max-width:22ch;margin-top:clamp(20px,2.6vw,40px);font:400 clamp(32px,3.6vw,52px)/1.06 var(--gap-serif);letter-spacing:-.01em}
.gap-foot__news-msg--ok:focus{outline:none}
.gap-foot__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);align-items:start;gap:48px 56px;padding-top:72px;padding-bottom:56px}
.gap-foot__left{display:flex;flex-direction:column;gap:28px}
.gap-foot__sign{max-width:13ch;margin:0;font:400 clamp(32px,3.6vw,52px)/1.06 var(--gap-serif);letter-spacing:-.01em}
.gap-foot__social{display:flex;gap:18px;margin:0}
.gap-foot__social a:hover{opacity:.6}
.gap-foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.gap-foot__col{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.gap-foot__col>a{padding-block:2px}
.gap-foot__col h2{margin-bottom:12px;font:400 22px/1.2 var(--gap-serif)}
.gap-foot__col a,.gap-foot__col p{margin:0;font:400 16px/1.35 var(--gap-sans);text-decoration:none}
.gap-foot__col a:hover{text-decoration:underline;text-underline-offset:4px}
.gap-foot__col a.gap-foot__u{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.gap-foot__col p+.gap-foot__u{margin-top:6px}
.gap-foot__seo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:16px 64px;padding-top:40px;padding-bottom:48px;border-top:1px solid var(--gap-line)}
.gap-foot__seo-text{max-width:60ch;margin:0;font:400 14px/1.5 var(--gap-sans)}
.gap-foot__seo-links{display:flex;flex-wrap:wrap;align-content:start;gap:8px 18px}
.gap-foot__seo-links a{font:400 14px/1.5 var(--gap-sans);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.gap-foot__seo-links a:hover{text-decoration-thickness:2px}
.gap-foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:20px;padding-bottom:36px;font:400 13px/1 var(--gap-sans)}
.gap-foot__bottom p{margin:0}
.gap-foot__bottom nav{display:flex;gap:20px}
.gap-foot__bottom a{text-decoration:none}
.gap-foot__bottom a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.gap-foot__news{grid-template-columns:1fr;gap:8px;padding-top:44px;padding-bottom:44px}.gap-foot__mac{order:2;width:min(170px,50%);margin:8px auto 0}.gap-foot__top{grid-template-columns:1fr;gap:40px;padding-top:44px;padding-bottom:40px}.gap-foot__seo{grid-template-columns:1fr;gap:20px;padding-top:32px;padding-bottom:36px}}
@media(max-width:760px){.gap-foot__cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gap-foot__news-row{flex-wrap:wrap;gap:16px .3em;margin-left:0;padding-right:0}.gap-foot__news-row input{flex:1 1 200px}.gap-foot__sticker{position:static;flex:0 0 auto;margin-left:auto;padding:9px 14px 10px;border-radius:9px;font-size:17px;transform:rotate(-4deg)}.gap-foot__sticker:hover,.gap-foot__sticker:focus-visible{transform:rotate(3deg) scale(1.06)}}

/* ---- Service rows: whole row clickable, large pixel arrow as mouse cursor (style of the phone GIF) ---- */
.gap-service-tile--linked{cursor:pointer}
.gap-service-tile--linked.is-cursor,.gap-service-tile--linked.is-cursor *{cursor:none}
.gap-cursor{position:fixed;top:0;left:0;z-index:1000;width:77px;height:119px;margin:-2px 0 0 -2px;background:url(../icons/cursor-arrow.svg) no-repeat 0 0/100% 100%;image-rendering:pixelated;pointer-events:none;opacity:0;transition:opacity .15s}
.gap-cursor.is-visible{opacity:1}
@media(max-width:900px){.gap-cursor{width:55px;height:85px}}

/* ---- Text links (in running text and the footer lists) turn italic on hover; buttons, pills, tags and image links stay upright ---- */
/* Body-size links only: no headlines (h1–h6 and links holding one) and no display-size links (Sag Hallo, +43 … / @,
   ↘ zu allen Projekten, huge / large underlined links, the big link list of „Bild neben Text“ groß). */
:is(.gap-main,.gap-foot__col,.gap-foot__seo-links,.gap-foot__bottom,.gap-nav__mobile-contact) a:not(:is(h1,h2,h3,h4,h5,h6) a):not(.gap-cta a,.gap-contact__links a,.gap-project-pair__more,.gap-huge-link,.gap-text-link,.gap-feature-row--statement .gap-feature-row__text ul a):not([class*="button"]):not([class*="pill"]):not([class*="tag"]):not(:has(img,video,picture,h1,h2,h3,h4,h5,h6)):is(:hover,:focus-visible){font-style:italic}
@media(prefers-reduced-motion:reduce){.gap-cursor{transition:none}}
@media(prefers-reduced-motion:reduce){.gap-nav,.gap-nav__link,.gap-nav__pm-v,.gap-nav__mobile,.gap-foot__sticker{transition:none}}
