/* A contextual final project tile and a clear, interactive closing section. */
.project-grid>.projects-context{margin:0;max-width:none;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:36px;border:1px solid #a8d8f038;border-radius:12px;background:linear-gradient(135deg,#151d25,#101115 70%);position:relative;isolation:isolate;overflow:hidden;transition:border-color .4s,box-shadow .4s}
.projects-context:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(400px circle at var(--spot-x,85%) var(--spot-y,15%),#a8d8f021,transparent 70%);pointer-events:none}
.projects-context:hover,.projects-context:focus-within{border-color:#a8d8f070;box-shadow:0 12px 40px #0003}
.context-top{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c0d5e3;font-size:9px;letter-spacing:.13em;font-weight:700}
.context-symbol{width:40px;height:40px;display:grid;place-items:center;border:1px solid #a8d8f045;border-radius:12px;color:var(--blue);transition:rotate .5s var(--ease)}
.context-symbol svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}
.projects-context:hover .context-symbol{rotate:-8deg}
.context-copy h3{font-size:clamp(34px,3.7vw,48px);font-weight:600;line-height:1.08;letter-spacing:-.05em;color:var(--blue);margin:0 0 24px}
.context-copy>p{font-size:17px;line-height:1.7;color:#d1d7df;max-width:460px}
.context-copy>p strong{font-weight:700;color:#f4f7fa}
.context-details{border-top:1px solid #a8d8f028;padding-top:18px}
.context-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;font-size:11px;font-weight:600;color:#e1e8f0;cursor:pointer;list-style:none}
.context-details summary::-webkit-details-marker{display:none}
.context-details summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}
.context-details summary>span{width:28px;height:28px;border:1px solid #a8d8f040;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:17px;transition:rotate .35s var(--ease)}
.context-details[open] summary>span{rotate:45deg}
.context-details p{font-size:12px;line-height:1.75;color:#b1bdc9;padding-top:12px;max-width:450px}

#kontakt{margin-top:12px;padding:62px 0 0;background:linear-gradient(180deg,#0b0b0d,#10141b);overflow:hidden}
#kontakt .contact-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;border:0}
#kontakt .contact-top>.eyebrow{font-size:10px;color:#aab4c0}
#kontakt .contact-place{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 12px;border:1px solid #a8d8f038;border-radius:30px;font-size:10px;letter-spacing:.08em;color:#dce7f1}
.contact-place svg{width:13px;height:13px;fill:none;stroke:var(--blue);stroke-width:1.6}
#kontakt .contact-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:50px;align-items:center;position:relative;isolation:isolate;overflow:hidden;padding:55px 46px;border:1px solid #a8d8f030;border-radius:28px;background:#12171e}
#kontakt .contact-content:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(600px circle at var(--contact-glow-x,12%) var(--contact-glow-y,20%),#a8d8f018,transparent 75%)}
.contact-orbit{position:absolute;left:22%;bottom:-170px;width:380px;height:380px;border:1px solid #a8d8f015;border-radius:50%;z-index:-1;pointer-events:none;translate:var(--contact-shift-x,0px) var(--contact-shift-y,0px);transition:translate .7s var(--ease)}
.contact-orbit:before,.contact-orbit:after{content:'';position:absolute;inset:50px;border:1px solid #a8d8f015;border-radius:50%}.contact-orbit:after{inset:100px}
#kontakt .contact-intro{min-width:0}
#kontakt .contact-intro>.eyebrow{font-size:9px;color:#afc3d4;letter-spacing:.12em;margin:0 0 22px}
#kontakt #contact-title{font-size:clamp(58px,6.4vw,88px);line-height:1.05;letter-spacing:-.065em;font-weight:600;margin:0}
#contact-title>span:not(.word-clip){color:var(--blue)}
#kontakt #contact-title .word-clip,#kontakt #contact-title .motion-word{color:inherit}
#kontakt .contact-intro>.contact-invitation{font-size:14px;line-height:1.85;color:#b6c1ce;max-width:405px;margin:26px 0 0}
.contact-signature{display:inline-flex;align-items:center;gap:15px;margin-top:32px;min-height:48px;border-radius:4px;transition:color .3s}
.contact-signature:hover{color:var(--blue)}
.contact-signature>.brand-mark{width:44px;height:auto;flex:none}
.contact-signature>span:last-child{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;letter-spacing:-.01em}
.contact-signature small{font-size:8px;font-weight:500;color:#9caab9;letter-spacing:.02em}
.contact-dock{min-width:0;position:relative;border:1px solid #3b4855;border-radius:22px;background:#1a222c;padding:29px;box-shadow:0 16px 42px #0003}
#kontakt .contact-dock-kicker{font-size:8px;letter-spacing:.13em;font-weight:700;color:#bbc9d6;line-height:1.6;max-width:none;margin:0 0 18px}
.contact-topics{display:flex;flex-wrap:wrap;gap:7px;position:relative}
.contact-topic{min-height:44px;padding:9px 13px;border:1px solid #445260;border-radius:30px;background:transparent;color:#b7c6d3;font-size:10px;font-weight:600;transition:background .3s,border-color .3s,color .3s,translate .3s var(--ease)}
.contact-topic:hover{color:#f4f7fa;border-color:#a8d8f080;translate:0 -2px}
.contact-topic[aria-pressed="true"]{background:#c8e6f6;border-color:#c8e6f6;color:#132a39}
#kontakt .contact-topic-copy{font-size:13px;line-height:1.8;color:#d4e0eb;min-height:72px;margin:20px 0 0;max-width:330px}
#kontakt .contact-primary{display:flex;width:100%;min-height:82px;gap:15px;padding:16px 20px;background:var(--blue);color:#142b3a;border:1px solid #a8d8f0;border-radius:16px;box-shadow:0 0 0 0 #a8d8f018;font-size:18px;font-weight:600;text-decoration:none;transition:background .35s,box-shadow .35s,transform .5s var(--ease)}
#kontakt .contact-primary:hover{background:#c9eafa;box-shadow:0 0 0 5px #a8d8f018}
#kontakt .contact-primary>.contact-cta-arrow{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:#112937;color:#e2f3fc;transition:transform .5s var(--ease),background .3s}
.contact-cta-arrow svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}
#kontakt .contact-primary:hover>.contact-cta-arrow{transform:rotate(45deg);background:#25495f}
#kontakt .contact-dock-note{display:flex;align-items:center;gap:8px;color:#9eafbf;font-size:8px;line-height:1.6;max-width:none;margin:14px 0 0}
#kontakt .contact-dock-note svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.contact-channels{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr) minmax(0,.85fr);gap:14px;margin-top:16px}
.contact-channel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:18px;min-height:155px;padding:23px 25px;border:1px solid #2f3a47;border-radius:18px;background:#121820;transition:border-color .35s,background .35s,translate .35s var(--ease)}
.contact-channel:hover,.contact-channel:focus-within{border-color:#a8d8f062;background:#18212b;translate:0 -3px}
.contact-channel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-channel-top>span{font-size:8px;font-weight:600;letter-spacing:.12em;color:#a6b7c8}
.contact-channel-top>svg{width:19px;height:19px;fill:none;stroke:var(--blue);stroke-width:1.4}
.contact-channel>a{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:44px;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere}
.contact-channel>a>span:last-child{font-size:20px;color:var(--blue);flex:none;transition:translate .3s var(--ease)}
.contact-channel>a:hover>span:last-child{translate:3px -3px}
.contact-email>a{font-size:clamp(13px,1.3vw,17px)}
.contact-email-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-12px}
#kontakt .copy-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:3px 0;border:0;background:none;color:#a9c3d7;font-size:10px;text-decoration:none;transition:color .3s}
.copy-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}
#kontakt .copy-button:hover,#kontakt .copy-button.is-copied{color:#e2f4ff}
#kontakt .copy-status{display:inline;font-size:9px;line-height:1.5;color:#c6e2f3;margin:0;min-height:14px}
.footer-wordmark{margin-top:42px;overflow:hidden;user-select:none;pointer-events:none}
.footer-wordmark>span{display:block;font-size:clamp(36px,10vw,150px);font-weight:600;letter-spacing:-.066em;line-height:1.2;white-space:nowrap;background:linear-gradient(100deg,#405366,var(--blue),#405366);background-size:200% 100%;background-position:var(--contact-name-x,50%) 50%;background-clip:text;-webkit-background-clip:text;color:transparent;opacity:.45;transition:opacity .6s,background-position .6s var(--ease)}
#kontakt:hover .footer-wordmark>span,#kontakt:focus-within .footer-wordmark>span{opacity:.75}
#kontakt footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0 25px;border-top:1px solid #a8d8f024;font-size:9px;color:#9caab9}
#kontakt footer a{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:#d4e1ec}
#kontakt footer a>span{font-size:18px;color:var(--blue);transition:translate .3s}
#kontakt footer a:hover>span{translate:0 -3px}
@media(max-width:1100px){.project-grid>.projects-context{padding:29px;gap:24px}.context-copy h3{font-size:39px}.context-copy>p{font-size:16px}#kontakt .contact-content{padding:40px 30px;gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.85fr)}.contact-dock{padding:23px}.contact-channel{padding:21px 20px}.contact-topic{padding:9px 11px}}
@media(max-width:900px){#kontakt .contact-content{grid-template-columns:1fr;padding:38px;gap:32px}.contact-intro{max-width:630px}.contact-dock{width:100%;max-width:630px}#kontakt .contact-topic-copy{max-width:100%;min-height:0;margin-bottom:24px}#kontakt #contact-title{font-size:72px}.contact-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-email{grid-column:1/-1}.contact-channel{min-height:125px}.contact-email>a{font-size:19px}.contact-email-bottom{margin-top:0}.contact-signature{margin-top:26px}.contact-orbit{left:40%;bottom:20%}}
@media(max-width:640px){.project-grid>.projects-context{padding:26px;gap:30px;min-height:390px}.context-copy h3{font-size:39px}.context-copy>p{font-size:17px}.context-details summary{font-size:12px}.context-details p{font-size:12px}#kontakt{padding-top:35px}#kontakt .contact-top{padding-bottom:18px}#kontakt .contact-top>.eyebrow{font-size:9px}#kontakt .contact-content{padding:29px 22px;border-radius:20px;gap:28px}#kontakt .contact-intro>.eyebrow{font-size:8px;margin-bottom:18px}#kontakt #contact-title{font-size:clamp(40px,12vw,64px);letter-spacing:-.06em}#kontakt .contact-intro>.contact-invitation{font-size:13px;margin-top:23px}.contact-signature{margin-top:24px}.contact-dock{padding:21px 18px;border-radius:16px}#kontakt .contact-dock-kicker{font-size:8px}.contact-topics{gap:6px}.contact-topic{font-size:9px;padding:9px 10px}#kontakt .contact-topic-copy{font-size:12px;margin-top:17px;margin-bottom:20px}#kontakt .contact-primary{min-height:72px;font-size:16px;padding:13px 15px;border-radius:13px}#kontakt .contact-primary>.contact-cta-arrow{width:43px;height:43px}#kontakt .contact-dock-note{font-size:7px}.contact-channels{gap:10px;margin-top:12px}.contact-channel{min-height:130px;border-radius:14px;padding:18px 16px;gap:17px}.contact-channel>a{font-size:14px;gap:10px}.contact-email>a{font-size:16px}.contact-channel-top>span{font-size:7px}.contact-channel-top>svg{width:17px;height:17px}#kontakt .copy-button{min-height:44px;font-size:10px}.contact-email-bottom{gap:8px 16px}.footer-wordmark{margin-top:29px}.footer-wordmark>span{font-size:clamp(30px,10vw,64px);letter-spacing:-.055em}#kontakt footer{font-size:8px;padding-block:15px 18px}#kontakt footer a{gap:12px}}
@media(max-width:360px){#kontakt .contact-content{padding:26px 17px}.contact-dock{padding:19px 15px}.contact-topic{padding-inline:8px}#kontakt .contact-topic-copy{font-size:11px}.project-grid>.projects-context{padding:23px}.context-copy h3{font-size:36px}.context-copy>p{font-size:16px}.contact-channel{padding:16px 13px}.contact-channel>a{font-size:12px}.contact-email>a{font-size:14px}}
@media(hover:none){.contact-channel:hover,.contact-topic:hover{translate:none}}
@media(prefers-reduced-motion:reduce){.contact-orbit{translate:none}.contact-channel:hover,.contact-topic:hover{translate:none}#kontakt .contact-primary:hover>.contact-cta-arrow{transform:none}.context-symbol{rotate:none}.footer-wordmark>span{background-position:50% 50%}}
