/* Original LalVexa cream/teal palette, frosted surfaces and progressive motion. */
.home-glass {
  --hg-cream: #f3eee4;
  --hg-teal: #3c968f;
  --hg-ink: #183e38;
  --hg-glass: #fffdf8a8;
  --hn-paper: #f3eee4;
  --hn-ink: #183e38;
  --hn-muted: #61716a;
  --hn-sage: #e1ece6;
  background: var(--hg-cream);
}
.home-glass .hn-wrap { width: min(1240px, calc(100% - 80px)); }
.home-glass .site-nav,
.home-glass .site-nav.scrolled {
  background: #fffdf8bd !important;
  border-color: #e3dfd299;
  backdrop-filter: blur(24px) saturate(1.3);
  -webkit-backdrop-filter: blur(24px) saturate(1.3);
  box-shadow: 0 1px 0 #fff9 inset, 0 6px 30px #527d6405;
}
.home-glass .site-nav-links { background: #fffdf896; border-color: #fff; box-shadow: 0 4px 18px #6d796c0b; }
.home-glass .site-nav-links a.active { background: #3c968f; color: #fff; }
.home-glass .site-nav-cta { background: linear-gradient(135deg,#4ca79d,#2d7a73) !important; color: #fff !important; }
.home-glass .hn-hero {
  width: 100%; margin: 0;
  grid-template-columns: 1.04fr 1fr; column-gap: 30px;
  padding: 54px max(40px, calc((100vw - 1240px) / 2)) 0;
  position: relative; isolation: isolate;
  background: radial-gradient(ellipse at 78% 38%,#c9e6df7a,transparent 53%),radial-gradient(ellipse at 28% 2%,#fffdf6a6,transparent 60%),#f3eee4;
}
.home-glass .hn-hero-copy { position: relative; z-index: 2; padding-bottom: 16px; }
.home-glass .hn-hero .hn-eyebrow { color: #49867a; font-size: 9px; letter-spacing: 1.7px; }
.home-glass .hn-dot { background: #4ea396; box-shadow: 0 0 0 5px #4ea39610; }
.home-glass .hn-hero h1 {
  position: relative; color: var(--hg-ink); font-size: clamp(65px,6.2vw,87px);
  font-weight: 500; line-height: 1.08; letter-spacing: -4px; margin: 27px 0;
  text-wrap: initial;
}
.home-glass .hn-hero h1 em {
  color: #3c968f; font-style: normal;
  background: linear-gradient(105deg,#2e8179,#57aaa0,#2d7a73);
  background-size: 180% 100%; background-clip: text; -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; animation: hg-text-light 10s ease-in-out infinite;
}
.vx-heading-star { color: #71aa96; display: inline-block; vertical-align: top; font-size: 34px; line-height: 1; margin: 10px 0 0 12px; animation: hg-star-turn 24s linear infinite; }
.home-glass .hn-hero-copy > p { color: #5a7168; max-width: 455px; font-size: 15px; line-height: 1.95; }
.home-glass .hn-hero-actions { margin-top: 29px; gap: 23px; }
.home-glass .hn-primary {
  color: #fff; background: linear-gradient(125deg,#4ba79d,#2e7d74);
  border: 1px solid #ffffff5c; border-radius: 999px;
  padding: 9px 10px 9px 22px; gap: 22px; min-height: 54px;
  box-shadow: 0 9px 24px #3c968f23,0 1px 0 #ffffff44 inset;
}
.home-glass .hn-primary > svg { width: 16px; height: 16px; padding: 9px; box-sizing: content-box; border-radius: 50%; color: #2c8177; background: #fffdf6ed; transform: rotate(-35deg); transition: transform .3s; }
.home-glass .hn-primary:hover > svg { transform: rotate(0deg); }
.home-glass .hn-primary:hover { transform: translateY(-3px); box-shadow: 0 13px 30px #3c968f35; }
.home-glass .hn-hero-note { color: #7b8e7f; margin-top: 24px; }
.home-glass .hn-tiny-check { color: #4d9585; border-color: #a6c5b3; }
.vx-hero-art {
  height: 535px; position: relative; min-width: 0; isolation: isolate;
  transform: perspective(1100px) rotateX(var(--hg-rx,0deg)) rotateY(var(--hg-ry,0deg));
  transition: transform .7s ease-out;
}
.hg-ambient { position: absolute; inset: 4%; z-index: -2; border-radius: 45% 55% 60% 40%; background: radial-gradient(circle at 40% 35%,#ffffffc4,#bce2d74d 52%,#f6dfbc1a 78%,transparent); filter: blur(24px); animation: hg-ambient-drift 17s ease-in-out infinite alternate; }
.vx-orbit { position: absolute; inset: -7% auto auto -6%; width: 113%; height: 113%; max-width: none; object-fit: contain; z-index: -1; animation: hg-orbit-float 10s ease-in-out infinite; }
.vx-art-coordinate { position: absolute; top: 20px; left: 20px; font-size: 6px; letter-spacing: 1.4px; line-height: 2; color: #7ea293; }
.vx-art-label { position: absolute; right: 2px; top: 47px; writing-mode: vertical-rl; color: #88a798; font-size: 7px; letter-spacing: 2px; }
.vx-floating-card {
  position: absolute; left: 0; bottom: 35px; width: 208px; padding: 10px;
  border: 1px solid #fffdf9ed; border-radius: 14px; color: #2f665b;
  background: linear-gradient(140deg,#fffef7d9,#ffffff70);
  backdrop-filter: blur(20px) saturate(1.3); -webkit-backdrop-filter: blur(20px) saturate(1.3);
  box-shadow: 0 20px 48px #456d5721,0 1px 0 #fff inset;
  animation: hg-card-float 11s ease-in-out infinite;
}
.vx-float-label { display: flex; align-items: center; gap: 6px; font-size: 6px; letter-spacing: 1.2px; color: #6b9585; padding: 1px 1px 9px; }
.vx-float-label i { width: 4px; height: 4px; border-radius: 50%; background: #4e9b89; }
.vx-floating-card > img { display: block; width: 100%; height: 110px; object-fit: cover; object-position: top; border: 1px solid #d8e5db; border-radius: 7px; }
.vx-floating-card > span:last-child { display: block; padding: 11px 3px 2px; }
.vx-floating-card strong { font-size: 12px; font-weight: 500; }
.vx-floating-card small { display: block; font-size: 7px; color: #83a293; margin-top: 3px; }
.vx-floating-chip {
  position: absolute; top: 101px; right: 0; display: flex; align-items: center; gap: 12px;
  padding: 14px; border: 1px solid #ffffffed; border-radius: 13px;
  background: #fffef9b5; color: #3d7365;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 35px #426c5418,0 1px 0 #fff inset;
  animation: hg-chip-float 12s ease-in-out infinite;
}
.vx-chip-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #dcefe7; color: #4c9583; font-family: monospace; font-size: 13px; }
.vx-floating-chip small { display: block; font-size: 6px; letter-spacing: 1px; color: #8aab99; margin-bottom: 4px; }
.vx-floating-chip strong { font-size: 11px; font-weight: 500; }
.vx-floating-chip > svg { width: 14px; height: 14px; stroke: #71a48e; stroke-width: 1.5; transform: rotate(-45deg); margin-left: 4px; }
.hg-workspace-card { position: absolute; right: 10px; bottom: 26px; width: 125px; padding: 7px; border: 1px solid #fff; border-radius: 11px; background: #fffdf5a6; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 10px 30px #637e571a; animation: hg-workspace-float 14s ease-in-out infinite; }
.hg-workspace-card > img { width: 100%; height: 69px; display: block; border-radius: 6px; object-fit: cover; }
.hg-workspace-card > span { display: block; padding: 6px 2px 1px; font-size: 7px; color: #689281; }
.vx-art-footer { position: absolute; bottom: 2px; right: 3px; color: #83a391; letter-spacing: 1.3px; font-size: 5px; display: flex; align-items: center; gap: 7px; }
.vx-art-footer i { width: 22px; height: 1px; background: #91b3a1; }
.home-glass .hn-hero-bottom { position: relative; margin-top: 26px; padding-block: 24px; border-color: #cdded280; }
.home-glass .hn-hero-bottom > a { color: #7b9886; }
.home-glass .hn-hero-bottom > span { color: #9bac97; }
.hg-motion-toggle { order: 3; background: #fffdf98c; color: #5f8a7b; border: 1px solid #ffffffd9; padding: 8px 12px; border-radius: 999px; font-family: inherit; font-size: 8px; cursor: pointer; backdrop-filter: blur(12px); }
.hg-motion-toggle[hidden] { display: none; }
.hg-motion-toggle[aria-pressed="true"] { background: #dcece3; }
.vx-discipline-band { overflow: hidden; border-block: 1px solid #ffffffd9; background: #fffcf583; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.vx-discipline-band > div { display: flex; align-items: center; justify-content: space-around; gap: 36px; min-width: 100%; width: max-content; padding: 20px 32px; }
.vx-discipline-band span { font-family: var(--font-display); font-size: clamp(18px,2.3vw,29px); font-weight: 500; letter-spacing: -.7px; color: #60988a; }
.vx-discipline-band i { font-style: normal; font-size: 25px; color: #a7bdb0; animation: hg-star-turn 30s linear infinite; }
.home-glass .hn-project-strip { background: #e5eee3a6; border-color: #d8e4d38c; }
.home-glass .hn-project-strip > div { min-height: 82px; }
.home-glass .hn-project-strip a { color: #6b907c; }
.home-glass .hn-project-strip a:hover { color: #2c7e73; }
.home-glass #projekte-fundit { padding-block: 82px; }
.home-glass #projekte-fundit h2 { font-size: clamp(38px,4.4vw,56px); letter-spacing: -2px; }
.vx-work-grid { grid-template-columns: 1.2fr 1fr; gap: 26px; align-items: stretch; }
.home-glass .hn-hero-visual { align-self: start; padding: 22px; border: 1px solid #fffdf6; border-radius: 18px; background: linear-gradient(140deg,#fffdf7b5,#dfede180); box-shadow: 0 15px 40px #647e4c0c,0 1px 0 #fff inset; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.home-glass .hn-preview-stage { border-color: #fffdf5; box-shadow: 0 12px 28px #5c7d5010; }
.home-glass .hn-preview-tabs button { color: #719381; }
.home-glass .hn-preview-tabs button[aria-selected="true"] { color: #fff; background: #4b9b8d; border-color: #4b9b8d; box-shadow: 0 5px 12px #3c968f1a; }
.home-glass .hn-preview-tabs button[aria-selected="true"] .hn-tab-dot { background: #d5ece1; }
.vx-case-list { display: flex; flex-direction: column; gap: 13px; }
.vx-case-list .hn-work-card { display: block; border: 1px solid #ffffffde; border-radius: 13px; background: #fffdf897; color: var(--hg-ink); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); box-shadow: 0 5px 17px #6f775008; transition: transform .3s, box-shadow .3s, background .3s; }
.vx-case-list .hn-work-card:hover { transform: translateX(5px); background: #fffef6dd; box-shadow: 0 12px 25px #5d8b6a14; }
.vx-case-list .hn-work-image { display: none; }
.vx-case-list .hn-work-copy, .vx-case-list .hn-work-prania .hn-work-copy { padding: 22px 25px; }
.vx-case-list .hn-work-copy h3 { font-size: 23px; margin-block: 8px; }
.vx-case-list .hn-work-copy > p { font-size: 12px; color: #6b8375; line-height: 1.8; }
.vx-case-list .hn-tags { margin-top: 13px; }
.vx-case-list .hn-tags > span { background: #e7efe460; border-color: #dce8d7; color: #75917c; }
.home-glass .hn-services-section { background: radial-gradient(ellipse at 10% 25%,#dceee680,transparent 60%),#efeee4; border-block: 1px solid #fff9; }
.home-glass .hn-service, .home-glass .hn-service:first-child {
  border: 1px solid #ffffffdb; background: linear-gradient(145deg,#fffdfac9,#fffdfa61); color: var(--hg-ink); border-radius: 16px;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 7px 25px #667b510a,0 1px 0 #fff inset;
  transition: transform .4s, box-shadow .4s, border-color .3s;
}
.home-glass .hn-service:first-child { background: linear-gradient(145deg,#d8ece5c9,#f8fcf5aa); }
.home-glass .hn-service:hover { transform: translateY(-7px); box-shadow: 0 18px 35px #468c701c; border-color: #a6d0be; }
.home-glass .hn-service-icon, .home-glass .hn-service:first-child .hn-service-icon { background: #dbece3aa; color: #4e9681; border: 1px solid #fff; box-shadow: 0 4px 12px #699b7510; transition: transform .4s; }
.home-glass .hn-service:hover .hn-service-icon { transform: rotate(-8deg) scale(1.08); }
.home-glass .hn-service:first-child .hn-service-category { color: #76a08b; }
.home-glass .hn-service:first-child > p { color: #647e70; }
.home-glass .hn-service:first-child .hn-service-more { color: #4c8c76; border-color: #c9dfce; }
.home-glass .hn-process-section { background: linear-gradient(125deg,#ddece4,#edf1e6); color: var(--hg-ink); border-block: 1px solid #fff9; }
.home-glass .hn-process-section .hn-eyebrow { color: #60917a; }
.home-glass .hn-process-section h2 { color: var(--hg-ink); }
.home-glass .hn-process-section h2 span { color: #719d88; }
.home-glass .hn-process-section .hn-section-head > p { color: #6b8778; }
.home-glass .hn-step-number { color: #62a18b; font-size: 43px; }
.home-glass .hn-step-number span { background: #bad6bf; }
.home-glass .hn-process-grid small { color: #81a38b; }
.home-glass .hn-process-grid h3 { color: #315d4b; }
.home-glass .hn-process-grid p { color: #6d8775; }
.home-glass .hn-team-art { background: linear-gradient(140deg,#fffdf89c,#d7e9e0); border: 1px solid #ffffffd9; box-shadow: 0 15px 35px #7a927010; }
.home-glass .hn-team-portrait { border: 3px solid #ffffffa3; box-shadow: 0 10px 20px #658b721a; transition: transform .5s; }
.home-glass .hn-team-portrait:hover { transform: translateY(-7px); }
.home-glass .hn-team-mark { color: #75a791; animation: hg-star-turn 35s linear infinite; }
.home-glass .hn-team-stats strong { color: #3e8977; }
.home-glass .hn-faq { border-color: #d3dfcf; }
.home-glass .hn-faq[open] { padding-inline: 17px; background: #fffdf794; border-radius: 10px; border-color: #ffffffc9; box-shadow: 0 6px 20px #647d5008; }
.home-glass .hn-contact-card { background: radial-gradient(circle at 85% 20%,#c4e4d08c,transparent 60%),linear-gradient(125deg,#fffdf8b5,#dcebe1a1); border: 1px solid #fff; border-radius: 20px; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 15px 40px #6c8f6110,0 1px 0 #fff inset; }
.home-glass .hn-contact-card h2 em { color: #549d88; }
.home-glass .hn-contact-card .hn-eyebrow { color: #719a84; }
.home-glass .hn-light { background: linear-gradient(125deg,#4ba79d,#2e7d74); color: #fff; border-radius: 999px; box-shadow: 0 8px 22px #3c968f25; }
.home-glass .hn-large-arrow svg { stroke: #86b5a0; }
.home-glass .hn-contact-aside { border-color: #bbd5c4; }
.vx-contact-wordmark { position: absolute; right: -10px; bottom: -30px; font-size: 115px; font-weight: 700; line-height: 1; letter-spacing: -7px; color: #83b6a114; pointer-events: none; }
.home-glass .hn-contact-card > div { position: relative; z-index: 1; }
.home-glass.hg-motion-ready .hg-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1); transition-delay: var(--hg-delay,0ms); }
.home-glass.hg-motion-ready .hg-reveal.hg-visible { opacity: 1; transform: none; }
.home-glass.motion-paused *, .home-glass.motion-paused *::before, .home-glass.motion-paused *::after { animation-play-state: paused !important; }
.home-glass.motion-paused .hg-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
@keyframes hg-orbit-float { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-12px) rotate(3deg); } }
@keyframes hg-card-float { 0%,100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-10px) rotate(-3deg); } }
@keyframes hg-chip-float { 0%,100% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(9px) rotate(2deg); } }
@keyframes hg-workspace-float { 0%,100% { transform: translateY(0) rotate(5deg); } 50% { transform: translateY(-9px) rotate(8deg); } }
@keyframes hg-star-turn { to { transform: rotate(360deg); } }
@keyframes hg-text-light { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes hg-ambient-drift { from { transform: translate(-12px,4px) scale(.95); } to { transform: translate(12px,-12px) scale(1.04); } }
@media (max-width:1100px) {
  .home-glass .hn-wrap { width: calc(100% - 56px); }
  .home-glass .hn-hero { width: 100%; padding: 46px 28px 0; column-gap: 10px; }
  .home-glass .hn-hero h1 { font-size: clamp(57px,7.4vw,77px); letter-spacing: -3.7px; }
  .vx-hero-art { height: 475px; }
  .vx-floating-card { width: 175px; bottom: 42px; }
  .vx-floating-card > img { height: 92px; }
  .vx-floating-chip { top: 80px; padding: 11px; gap: 9px; }
  .vx-floating-chip strong { font-size: 9px; }
  .hg-workspace-card { width: 106px; right: 1px; bottom: 32px; }
  .hg-workspace-card > img { height: 57px; }
  .vx-heading-star { font-size: 28px; margin-left: 8px; }
  .home-glass .hn-hero-actions { gap: 13px; }
  .home-glass .hn-primary { font-size: 11px; gap: 13px; }
}
@media (max-width:800px) {
  .home-glass .hn-hero h1 { font-size: clamp(48px,7.7vw,63px); letter-spacing: -3px; }
  .home-glass .hn-hero-copy > p { font-size: 13px; }
  .home-glass .hn-hero .hn-eyebrow { font-size: 7px; }
  .vx-hero-art { height: 420px; }
  .vx-floating-card { width: 150px; }
  .vx-floating-chip { padding: 9px; gap: 7px; top: 63px; }
  .vx-floating-chip > svg { display: none; }
  .vx-chip-icon { width: 27px; height: 27px; font-size: 10px; }
  .vx-art-coordinate { font-size: 5px; left: 10px; }
  .vx-art-label { font-size: 5px; }
  .hg-workspace-card { width: 90px; bottom: 29px; }
  .hg-workspace-card > img { height: 45px; }
  .vx-work-grid { grid-template-columns: 1fr; gap: 20px; }
  .vx-case-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
  .vx-case-list .hn-work-copy, .vx-case-list .hn-work-prania .hn-work-copy { padding: 17px; }
  .vx-case-list .hn-work-copy h3 { font-size: 17px; }
  .vx-case-list .hn-work-copy > p { font-size: 11px; }
  .vx-case-list .hn-work-copy .hn-eyebrow { font-size: 6px; }
  .vx-case-list .hn-work-prania { grid-column: auto; }
  .home-glass .hn-hero-bottom > span { display: none; }
}
@media (max-width:600px) {
  .home-glass .hn-wrap { width: calc(100% - 40px); }
  .home-glass .hn-hero { width: 100%; padding: 34px 20px 0; gap: 8px; }
  .home-glass .hn-hero h1 { font-size: clamp(57px,15.5vw,80px); letter-spacing: -3.5px; line-height: 1.06; margin: 23px 0; }
  .home-glass .hn-hero .hn-eyebrow { font-size: 7px; letter-spacing: 1.4px; }
  .home-glass .hn-hero-copy > p { font-size: 14px; line-height: 1.85; }
  .home-glass .hn-hero-actions { gap: 15px; margin-top: 23px; }
  .home-glass .hn-primary { font-size: 10px; gap: 13px; min-height: 50px; padding: 8px 8px 8px 17px; }
  .home-glass .hn-primary > svg { padding: 9px; width: 14px; height: 14px; }
  .home-glass .hn-hero-actions .hn-text-link { font-size: 10px; gap: 7px; }
  .home-glass .hn-hero-note { margin-top: 20px; font-size: 8px; }
  .vx-heading-star { font-size: 23px; margin-top: 8px; margin-left: 6px; }
  .vx-hero-art { height: 365px; max-width: 440px; width: 100%; align-self: center; }
  .vx-orbit { inset: -10% auto auto -9%; width: 118%; height: 118%; }
  .vx-art-coordinate { top: 15px; left: 0; font-size: 4px; }
  .vx-art-label { top: 31px; font-size: 5px; right: 1px; }
  .vx-floating-card { width: 145px; left: 5px; bottom: 37px; padding: 7px; border-radius: 11px; }
  .vx-floating-card > img { height: 77px; }
  .vx-float-label { font-size: 5px; padding-bottom: 6px; }
  .vx-floating-card strong { font-size: 10px; }
  .vx-floating-card small { font-size: 6px; }
  .vx-floating-chip { top: 54px; right: 1px; padding: 9px; }
  .vx-floating-chip small { font-size: 5px; }
  .vx-floating-chip strong { font-size: 9px; }
  .vx-chip-icon { width: 26px; height: 26px; font-size: 9px; }
  .hg-workspace-card { right: 0; bottom: 27px; width: 90px; padding: 5px; border-radius: 9px; }
  .hg-workspace-card > img { height: 48px; border-radius: 5px; }
  .hg-workspace-card > span { font-size: 6px; padding-top: 5px; }
  .vx-art-footer { right: 0; bottom: 5px; font-size: 4px; letter-spacing: .9px; }
  .home-glass .hn-hero-bottom { margin-top: 0; padding-block: 17px; gap: 10px; }
  .home-glass .hn-hero-bottom > a { font-size: 8px; gap: 7px; }
  .hg-motion-toggle { font-size: 7px; padding: 8px 10px; min-height: 32px; }
  .vx-discipline-band > div { gap: 22px; padding: 17px 20px; }
  .vx-discipline-band span { font-size: 18px; }
  .vx-discipline-band i { font-size: 18px; }
  .home-glass #projekte-fundit h2 { font-size: 39px; letter-spacing: -1.8px; }
  .home-glass .hn-hero-visual { padding: 14px; border-radius: 14px; }
  .vx-case-list { display: flex; flex-direction: column; }
  .vx-case-list .hn-work-copy, .vx-case-list .hn-work-prania .hn-work-copy { padding: 21px; }
  .vx-case-list .hn-work-copy h3 { font-size: 24px; }
  .vx-case-list .hn-work-copy > p { font-size: 13px; }
  .vx-case-list .hn-work-copy .hn-eyebrow { font-size: 7px; }
  .home-glass .hn-service { border-radius: 12px; }
  .home-glass .hn-step-number { font-size: 35px; }
  .vx-contact-wordmark { font-size: 73px; letter-spacing: -5px; bottom: -17px; }
  .home-glass .hn-faq[open] { padding-inline: 10px; }
}
@media (max-width:360px) {
  .home-glass .hn-wrap { width: calc(100% - 32px); }
  .home-glass .hn-hero { width: 100%; padding-inline: 16px; }
  .home-glass .hn-hero h1 { font-size: 52px; letter-spacing: -3px; }
  .home-glass .hn-hero-actions { gap: 10px; }
  .home-glass .hn-primary { gap: 8px; font-size: 9px; padding-left: 13px; }
  .home-glass .hn-hero-actions .hn-text-link { font-size: 9px; }
  .vx-heading-star { font-size: 20px; margin-left: 4px; }
  .vx-hero-art { height: 330px; }
  .vx-floating-card { width: 128px; }
  .vx-floating-card > img { height: 66px; }
  .hg-workspace-card { width: 80px; }
  .hg-workspace-card > img { height: 40px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-glass .vx-orbit, .home-glass .vx-floating-card, .home-glass .vx-floating-chip, .home-glass .hg-workspace-card,
  .home-glass .vx-heading-star, .home-glass .hg-ambient, .home-glass .vx-discipline-band i, .home-glass .hn-team-mark { animation: none !important; }
  .home-glass.hg-motion-ready .hg-reveal { opacity: 1; transform: none; }
  .home-glass .vx-hero-art { transform: none !important; }
}

/* SVG accents follow brand colors on every platform, including emoji-capable phones. */
.home-glass :is(.vx-heading-star, .vx-discipline-band i, .hn-team-mark) > svg {
  display: block;
  width: 1em;
  height: 1em;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
}
.home-glass .hn-team-mark { color: #75a791; }

/* More screenshots and specific copy, with shorter transitions between sections. */
.home-concrete .hn-hero { padding-top: 30px; }
.home-concrete .hn-hero h1 { font-size: clamp(45px,4.9vw,67px); letter-spacing: -2.7px; line-height: 1.12; margin-block: 19px; }
.home-concrete .hn-hero-copy > p { font-size: 15px; line-height: 1.8; max-width: 485px; }
.home-concrete .vx-hero-art { height: 440px; }
.home-concrete .hn-hero-bottom { margin-top: 8px; padding-block: 14px; }
.home-concrete main > .hn-section { padding-block: 42px !important; }
.home-concrete .hn-section-head { gap: 28px; margin-bottom: 23px; align-items: center; }
.home-concrete .hn-section-head h2,
.home-concrete #projekte-fundit h2,
.home-concrete .hn-team h2,
.home-concrete .hn-faq-section h2 { font-size: clamp(27px,2.5vw,33px); letter-spacing: -1px; line-height: 1.25; margin-top: 9px; }
.home-concrete .hn-head-aside { max-width: 355px; }
.home-concrete .hn-head-aside > p { font-size: 13px; line-height: 1.7; }
.home-concrete .hn-head-aside .hn-text-link { margin-top: 2px; }
.home-concrete .vx-work-grid { grid-template-columns: 1.08fr 1fr; gap: 22px; align-items: start; }
.home-concrete .hn-hero-visual { padding: 16px; }
.home-concrete .hn-preview-overline { margin-bottom: 12px; }
.home-concrete .hn-preview-overline-end { letter-spacing: .1px; font-size: 8px; }
.hc-preview-note { color: #7b9786; font-size: 10px; line-height: 1.6; margin: 4px 0 0; }
.home-concrete .hn-preview-caption { gap: 9px; padding: 13px; }
.home-concrete .hn-preview-caption > div { flex: 1; min-width: 0; }
.hc-enlarge { display: inline-flex; justify-content: center; align-items: center; gap: 5px; min-height: 36px; padding: 7px 9px; background: #f5faf2; color: #4b8b75; border: 1px solid #d6e5d6; border-radius: 6px; font: inherit; font-size: 9px; cursor: pointer; }
.hc-enlarge svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 1.5; }
.hc-enlarge[hidden] { display: none !important; }
.home-concrete .vx-case-list { display: flex; gap: 11px; }
.home-concrete .vx-case-list .hc-case { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 15px; padding: 15px; align-items: start; }
.home-concrete .vx-case-list .hc-case.is-selected { border-color: #8cbca8; background: #fafdF5c9; box-shadow: 0 6px 20px #4c96750d; }
.hc-case-preview { display: block; position: relative; border-radius: 7px; overflow: hidden; background: #e2ede5; }
.hc-case-preview > img { width: 100%; height: 110px; display: block; object-fit: cover; object-position: top; transition: transform .4s; }
.hc-case-preview:hover > img { transform: scale(1.06); }
.hc-case-preview > span { position: absolute; bottom: 6px; right: 6px; width: 25px; height: 25px; border: 1px solid #fff; background: #fffdf7dd; display: grid; place-items: center; border-radius: 5px; color: #5c927f; }
.hc-case-preview svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 1.5; }
.home-concrete .vx-case-list .hn-work-copy { padding: 0; }
.home-concrete .vx-case-list .hn-work-copy .hn-eyebrow { font-size: 8px; letter-spacing: .3px; line-height: 1.5; }
.home-concrete .vx-case-list .hn-work-copy h3 { font-size: 19px; margin: 5px 0 7px; line-height: 1.25; }
.home-concrete .hn-work-copy h3 a { color: #214f3f; }
.home-concrete .vx-case-list .hn-work-copy > p { font-size: 12px; line-height: 1.7; color: #647e70; }
.home-concrete .vx-case-list .hn-tags { margin-top: 9px; gap: 4px; }
.home-concrete .vx-case-list .hn-tags > span { font-size: 8px; padding: 3px 6px; }
.hc-case-details { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; font-size: 10px; color: #418b73; }
.hc-case-details svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 1.5; }
.home-concrete .hn-services-grid { gap: 17px; }
.home-concrete .hn-service { padding: 0; overflow: hidden; }
.hc-service-media { position: relative; aspect-ratio: 1.9; overflow: hidden; background: #dfece5; border-bottom: 1px solid #dae4d5; }
.hc-service-media > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; transition: transform .5s; }
.hn-service:hover .hc-service-media > img { transform: scale(1.04); }
.hc-service-media > span { position: absolute; bottom: 8px; right: 8px; padding: 4px 7px; border: 1px solid #ffffffc4; background: #fffdf5db; color: #5c7e6a; border-radius: 4px; font-size: 7px; }
.hc-service-body { display: flex; flex-direction: column; flex: 1; padding: 19px 21px; }
.home-concrete .hn-service-top { margin-bottom: 13px; }
.home-concrete .hn-service-icon { width: 31px; height: 31px; border-radius: 7px; }
.home-concrete .hn-service-icon svg { width: 17px; height: 17px; }
.home-concrete .hn-service-category { margin-bottom: 7px; }
.home-concrete .hn-service h3 { font-size: 19px; margin-bottom: 9px; max-width: none; }
.hc-service-body > p { font-size: 13px; line-height: 1.8; color: #607c6b; margin-bottom: 14px; }
.home-concrete .hn-service-more { padding-top: 13px; }
.home-concrete main > .hn-process-section { padding-block: 40px !important; }
.hc-process-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 30px; }
.hc-process-media { margin: 0; padding: 13px; background: #fffdf7aa; border: 1px solid #fff; border-radius: 13px; }
.hc-process-image { width: 100%; height: 280px; display: block; object-fit: cover; object-position: top; border-radius: 7px; background: #e5eee6; }
.hc-process-media figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 1px 0; font-size: 11px; line-height: 1.6; color: #6d8d78; }
.hc-step { border-bottom: 1px solid #bfd4c3; }
.hc-step:first-child { border-top: 1px solid #bfd4c3; }
.hc-step summary { display: flex; align-items: center; gap: 13px; padding: 16px 0; min-height: 60px; list-style: none; color: #345e4b; font-size: 13px; cursor: pointer; }
.hc-step summary::-webkit-details-marker { display: none; }
.hc-step-index { font-size: 11px; color: #7da38b; }
.hc-step summary > span:nth-child(2) { flex: 1; }
.hc-step .hn-plus { color: #789e83; font-size: 21px; }
.hc-step[open] .hn-plus { transform: rotate(45deg); }
.hc-step > div { padding: 0 0 14px 28px; }
.hc-step p, .hc-step li { font-size: 12px; line-height: 1.8; color: #63816c; }
.hc-step ul { padding-left: 16px; margin: 9px 0 0; }
.hc-step li { margin-block: 4px; }
.home-concrete main > .hn-team { padding-block: 42px !important; gap: 45px; }
.home-concrete .hn-team-art { height: 335px; }
.home-concrete .hn-team-portrait { height: 245px; }
.hn-team-portrait > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; position: absolute; bottom: 8px; left: 8px; right: 8px; padding: 8px; background: #fffdf3d9; backdrop-filter: blur(12px); border: 1px solid #fff9; border-radius: 5px; font-size: 10px; color: #416b56; }
.hn-team-portrait > span svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 1.5; }
.home-concrete .hn-team-copy > p { font-size: 14px; line-height: 1.8; }
.home-concrete .hn-team-copy .hc-team-detail { margin-top: 10px; font-size: 12px; }
.hc-team-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.hc-team-links > a { display: inline-flex; align-items: center; gap: 9px; min-height: 35px; font-size: 11px; color: #3e8870; }
.hc-team-links svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 1.5; }
.home-concrete .hn-team-stats { margin-top: 12px; padding-top: 15px; }
.home-concrete main > .hn-faq-section { padding: 4px 0 35px !important; gap: 45px; }
.home-concrete .hn-faq summary { min-height: 64px; padding-block: 14px; }
.home-concrete main > .hn-contact-section { padding: 0 0 35px !important; }
.home-concrete .hn-contact-card { padding: 32px 36px; }
.home-concrete .hn-contact-card h2 { font-size: 31px; letter-spacing: -1px; margin-block: 12px; }
.home-concrete .hn-contact-card > div > p { margin-bottom: 15px; font-size: 13px; }
.hc-brief-options { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.hc-brief-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 7px 11px; background: #fffdf7ab; color: #558b71; border: 1px solid #fff; border-radius: 6px; font-size: 10px; transition: background .2s; }
.hc-brief-chip:hover { background: #fffef6; }
.hc-brief-chip svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 1.5; }
.hc-lightbox { width: min(1200px,94vw); max-width: 94vw; max-height: 92dvh; margin: auto; padding: 17px; border: 1px solid #fff; border-radius: 13px; background: #f7f8ef; color: #204e3c; box-shadow: 0 22px 80px #142c2540; }
.hc-lightbox::backdrop { background: #16382a99; backdrop-filter: blur(6px); }
.hc-lightbox-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.hc-lightbox-head h2 { font-family: var(--font-display); font-size: 16px; font-weight: 500; line-height: 1.4; }
.hc-lightbox-close { display: inline-flex; align-items: center; gap: 12px; min-height: 40px; padding: 8px 12px; border: 1px solid #cbdcc8; border-radius: 7px; background: #fffdf7; color: #4b7a61; font: inherit; font-size: 11px; cursor: pointer; }
.hc-lightbox-close > span { font-size: 22px; }
.hc-lightbox figure { margin: 0; }
.hc-lightbox img { display: block; width: 100%; max-height: calc(92dvh - 130px); object-fit: contain; background: #fff; border: 1px solid #e1e9db; border-radius: 6px; }
.hc-lightbox figcaption { padding: 9px 0 0; color: #76907b; font-size: 11px; }
@media (max-width:800px) {
  .home-concrete .vx-work-grid { grid-template-columns: 1fr; }
  .home-concrete .vx-case-list { display: grid; grid-template-columns: 1fr; }
  .home-concrete .vx-case-list .hc-case { grid-template-columns: 150px minmax(0,1fr); }
  .hc-case-preview > img { height: 130px; }
  .hc-process-layout { gap: 22px; }
  .hc-process-image { height: 240px; }
  .home-concrete .hn-team-art { height: 315px; }
  .home-concrete .hn-team-portrait { height: 225px; }
}
@media (max-width:600px) {
  .home-concrete .hn-hero { padding-top: 25px; gap: 4px; }
  .home-concrete .hn-hero h1 { font-size: clamp(36px,10vw,49px); letter-spacing: -1.7px; margin-block: 17px; }
  .home-concrete .hn-hero-copy > p { font-size: 14px; line-height: 1.8; }
  .home-concrete .hn-hero-actions { margin-top: 18px; }
  .home-concrete .hn-hero-note { margin-top: 14px; }
  .home-concrete .vx-hero-art { height: 300px; }
  .home-concrete .vx-floating-card { bottom: 25px; }
  .home-concrete .hg-workspace-card { bottom: 22px; }
  .home-concrete .hn-hero-bottom { padding-block: 12px; }
  .home-concrete main > .hn-section { padding-block: 29px !important; }
  .home-concrete .hn-section-head { margin-bottom: 18px; }
  .home-concrete .hn-section-head h2, .home-concrete #projekte-fundit h2, .home-concrete .hn-team h2, .home-concrete .hn-faq-section h2 { font-size: 27px; letter-spacing: -.9px; }
  .home-concrete .hn-head-aside { margin-top: 12px; }
  .home-concrete .hn-head-aside > p { font-size: 12px; line-height: 1.8; }
  .home-concrete .vx-case-list .hc-case { grid-template-columns: 88px minmax(0,1fr); padding: 12px; gap: 12px; }
  .hc-case-preview > img { height: 105px; }
  .home-concrete .vx-case-list .hn-work-copy h3 { font-size: 18px; }
  .home-concrete .vx-case-list .hn-work-copy > p { font-size: 12px; line-height: 1.7; }
  .home-concrete .vx-case-list .hn-work-copy .hn-eyebrow { font-size: 8px; }
  .home-concrete .hn-preview-caption { padding: 11px; gap: 7px; }
  .hc-preview-note { font-size: 9px; }
  .home-concrete .hn-preview-overline-end { display: none; }
  .home-concrete .hn-services-grid { gap: 11px; }
  .home-concrete .hn-service { padding: 0; }
  .hc-service-body { padding: 13px; }
  .hc-service-media { aspect-ratio: 1.55; }
  .hc-service-media > span { display: none; }
  .home-concrete .hn-service-top { margin-bottom: 10px; }
  .home-concrete .hn-service h3 { font-size: 15px; line-height: 1.4; }
  .hc-service-body > p { font-size: 12px; line-height: 1.75; margin-bottom: 12px; }
  .home-concrete .hn-service-more { font-size: 8px; padding-top: 10px; }
  .home-concrete main > .hn-process-section { padding-block: 29px !important; }
  .hc-process-layout { display: flex; flex-direction: column; gap: 19px; }
  .hc-process-media, .hc-process-steps { width: 100%; }
  .hc-process-image { height: 215px; }
  .hc-process-media figcaption { font-size: 10px; }
  .hc-step summary { min-height: 58px; font-size: 12px; gap: 11px; }
  .hc-step p, .hc-step li { font-size: 12px; }
  .home-concrete main > .hn-team { padding-block: 30px !important; gap: 24px; }
  .home-concrete .hn-team-art { height: 295px; }
  .home-concrete .hn-team-portrait { height: 210px; }
  .hn-team-portrait > span { font-size: 8px; padding: 6px; gap: 5px; left: 5px; right: 5px; bottom: 5px; }
  .hn-team-portrait > span svg { width: 11px; height: 11px; }
  .home-concrete .hn-team-copy > p { font-size: 13px; }
  .home-concrete .hn-team h2 { margin-bottom: 15px; }
  .home-concrete main > .hn-faq-section { padding: 0 0 28px !important; }
  .home-concrete .hn-faq-list { margin-top: 15px; }
  .home-concrete .hn-faq summary { font-size: 12px; line-height: 1.6; min-height: 62px; }
  .home-concrete main > .hn-contact-section { padding: 0 0 25px !important; }
  .home-concrete .hn-contact-card { padding: 24px; }
  .home-concrete .hn-contact-card h2 { font-size: 28px; }
  .home-concrete .hn-contact-card > div > p { font-size: 12px; }
  .hc-brief-options { gap: 6px; }
  .hc-brief-chip { font-size: 9px; padding-inline: 9px; }
  .hc-lightbox { padding: 11px; }
  .hc-lightbox-head { gap: 12px; }
  .hc-lightbox-head h2 { font-size: 13px; }
  .hc-lightbox-close { font-size: 10px; padding: 6px 9px; gap: 7px; }
}
@media (max-width:360px) {
  .home-concrete .hn-hero h1 { font-size: 34px; }
  .home-concrete .vx-hero-art { height: 270px; }
  .home-concrete .hn-team-art { height: 275px; }
  .home-concrete .hn-team-portrait { height: 190px; }
  .hc-enlarge > span { display: none; }
  .home-concrete .vx-case-list .hc-case { grid-template-columns: 75px minmax(0,1fr); gap: 10px; }
}
