@charset "UTF-8";
/* Startseite: refraktiver Orbit. Die Referenzseite nutzt weiterhin styles.css. */
.home-page{--ink:#172b3d;--muted:#52677b;--hairline:#8ca6b947;color:var(--ink);background:radial-gradient(ellipse at 69% 43%,#f5f9fc 0%,#dce7ed 39%,#b9cad5 100%)}
.home-page:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.48;background:radial-gradient(circle at 67% 49%,#ffffffcf 0 9%,transparent 45%),linear-gradient(130deg,#fff9,transparent 34%,#52718a20 100%)}
.home-page .shell{position:relative;grid-template-rows:108px minmax(680px,1fr)auto;min-height:100svh;isolation:isolate;overflow:clip}
.home-page .site-header{padding:26px 4.7vw 10px;gap:24px;align-items:flex-start}
.home-page .brand{width:clamp(205px,17vw,270px);height:auto;aspect-ratio:4.1}
.home-page .brand svg{display:block}.home-page .brand-suffix{bottom:0;font-size:8px;letter-spacing:.35em}
.home-page nav{font-size:11px;gap:48px;letter-spacing:.15em;text-transform:uppercase}
.home-page .contact-link .ui-arrow{display:none}
.home-main{min-width:0;display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);padding:0 4.7vw}
.hero-copy{align-self:center;position:relative;z-index:4;padding-bottom:24px;max-width:550px}
.hero-eyebrow{font-size:10px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.29em;color:#15589d}
.hero-copy h1{font-size:clamp(51px,4.55vw,76px);line-height:1.045;font-weight:400;letter-spacing:-.063em;margin:30px 0 27px;color:#162a3d}
.hero-copy p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;letter-spacing:.01em}
.home-page .universe{position:relative;min-height:680px;isolation:isolate;overflow:visible}
.home-page .universe:before{content:"";position:absolute;left:50%;top:50%;width:72%;height:70%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff9 0%,#c3d6e555 38%,transparent 72%);pointer-events:none}
.home-page .constellation{z-index:0}
.orbit-fallback{position:absolute;inset:0;z-index:0;pointer-events:none}
.orbit-fallback i{position:absolute;left:51%;top:49%;width:80%;height:70%;border:1px solid #7694ad70;border-radius:50%;transform:translate(-50%,-50%) rotate(-21deg)}
.orbit-fallback i:nth-child(2){width:64%;height:85%;border-color:#ffffffd4;transform:translate(-50%,-50%) rotate(30deg)}
.orbit-fallback i:nth-child(3){width:82%;height:53%;border-color:#7f9eb16b;transform:translate(-50%,-50%) rotate(17deg)}
.enhanced .orbit-fallback{display:none}
.home-page .core{--x:51%;--y:49%;width:186px;height:186px;z-index:2;transform:translate(-50%,-50%);will-change:auto;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 31% 23%,#ffffffc9,#e8f1f6a9 45%,#b5c9d779 79%,#fff9 100%);box-shadow:0 20px 40px #2b516c24,inset 0 1px 2px #fff,inset -14px -19px 36px #43678129}
.core-rim{position:absolute;display:block;border-radius:50%}
.core-rim-outer{inset:-10px;border:1px solid #6688a45f;box-shadow:0 0 0 11px #ffffff22}
.core-rim-inner{inset:13px;border:1px solid #ffffffd9;box-shadow:inset 0 0 0 1px #789bb250}
.core-rim-inner:after{content:"";position:absolute;inset:13px;border:1px solid #6e91aa5c;border-radius:50%;background:#f3f8fa43}
.core-logo{position:absolute;width:79px;height:79px;left:50%;top:50%;transform:translate(-50%,-50%);stroke:none;z-index:1}
.home-page .node{width:158px;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;left:var(--x);top:var(--y);transform:translate(-50%,-40%);z-index:3;border-radius:12px;outline-offset:3px!important;will-change:transform;--tilt-x:0deg;--tilt-y:0deg;--lift:1;--roll:0deg;--angle:-8deg}
.home-page .node:focus-visible{outline:2px solid #15589d;border-radius:12px}
.home-page .node-disc{position:relative;flex:none;width:110px;height:110px;display:grid;place-items:center;overflow:hidden;border:1px solid #f7ffffa8;border-radius:50%;background:radial-gradient(circle at 27% 21%,#ffffff9e 0%,#ffffff35 10%,transparent 29%),radial-gradient(circle at 75% 81%,#488bb036 0%,transparent 40%),radial-gradient(circle at 50% 48%,#ffffff07 0 37%,#d5f0fa17 65%,#b5d7e748 100%);box-shadow:inset 4px 6px 13px #ffffff9c,inset -8px -10px 17px #447b9b3b,0 17px 23px #31577529;transform:perspective(500px) rotateX(var(--tilt-y)) rotateY(var(--tilt-x)) rotateZ(calc(var(--angle) + var(--roll))) scale(var(--lift));transition:transform .65s var(--ease),box-shadow .65s var(--ease);backface-visibility:hidden}
.home-page .node-disc:before,.home-page .node-disc:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.home-page .node-disc:before{inset:0;background:conic-gradient(from -25deg,#ffffffd9,#9dccdfb5 15%,#f7fbffb3 27%,#b9a5cb78 40%,#ffffffc4 52%,#6ea9c6a6 68%,#e2faffc9 82%,#ffffffd9);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 1px))}
.home-page .node-disc:after{inset:8px 13px 30px 9px;border-top:2px solid #ffffffe6;border-left:1px solid #ffffff88;transform:rotate(-29deg);opacity:.8}
.home-page .node-symbol{position:relative;z-index:1;width:55px;height:55px;fill:none;stroke:#2b6689;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.72;filter:drop-shadow(0 1px 0 #ffffff8c);transition:opacity .5s var(--ease),stroke .5s var(--ease)}
.home-page .node-mark{position:absolute;right:17px;bottom:14px;z-index:1;font-size:8px;font-weight:500;letter-spacing:.12em;color:#4f7791;text-shadow:0 1px 1px #ffffffb8;opacity:.68}
.home-page .node-caption{display:block;min-width:0;margin-top:16px;text-align:center}
.home-page .node-caption:before{content:"";display:block;width:24px;height:1px;margin:0 auto 13px;background:#4b7797a8;transition:width .4s var(--ease)}
.home-page .node-title{display:block;max-width:180px;margin:0 auto;white-space:normal;font-size:14px;line-height:1.3;font-weight:500;letter-spacing:.04em;color:#20384b;transition:color .3s}
.home-page .node:hover,.home-page .node:focus-visible,.home-page .node.is-active{--lift:1.14;z-index:5}
.home-page .node:hover .node-disc,.home-page .node:focus-visible .node-disc,.home-page .node.is-active .node-disc{filter:drop-shadow(0 24px 20px #21496657) drop-shadow(0 0 13px #ffffffa8)}
.home-page .node:hover .node-symbol,.home-page .node:focus-visible .node-symbol,.home-page .node.is-active .node-symbol{opacity:1;stroke:#15589d}
.home-page .node:hover .node-caption:before,.home-page .node:focus-visible .node-caption:before{width:37px}
.home-page .node:hover .node-title,.home-page .node:focus-visible .node-title,.home-page .node.is-active .node-title{color:#15589d}
.home-page .node-web{--x:18%;--y:25%}.home-page .node-ai{--x:75%;--y:19%}.home-page .node-tools{--x:84%;--y:57%}.home-page .node-content{--x:22%;--y:77%}.home-page .node-references{--x:58%;--y:80%}
.home-page .node-ai{--angle:9deg}.home-page .node-tools{--angle:-4deg}.home-page .node-content{--angle:12deg}.home-page .node-references{--angle:3deg}
.home-page .site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:44px 24px;min-height:99px;padding:8px 4.7vw max(18px,env(safe-area-inset-bottom));font-size:10px;letter-spacing:.11em;color:#526b7e;border-top:1px solid #8aa1b174}
.home-page .motion-control{grid-column:1;grid-row:1;justify-self:start;font-size:10px;min-width:44px}.home-page .motion-control svg{width:16px;height:16px}
.home-page .footer-about{position:static;transform:none;grid-column:2;grid-row:1;justify-self:center;color:#526b7e}.home-page .footer-contact{grid-column:3;grid-row:1;justify-self:end}
.home-page .footer-arrow{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-page .footer-legal{grid-column:1/-1;grid-row:2;justify-self:end;display:flex;gap:22px;font-size:10px;letter-spacing:.06em;text-transform:none}.home-page .footer-legal a{min-height:24px;display:inline-flex;align-items:center}.home-page .footer-legal a:after{bottom:0}
.home-page .detail-dialog{background:linear-gradient(145deg,#fbfcfdf9,#e6edf1f9);border-color:#e5edf3;box-shadow:0 30px 110px #25344035}
.home-page .detail-dialog::backdrop{background:#43566655}
@media(min-width:1600px){.home-page .shell{grid-template-rows:118px minmax(710px,1fr)76px}}
@media(min-width:1101px) and (max-width:1280px){.home-main{grid-template-columns:33% 67%}.hero-copy h1{font-size:56px}.hero-copy p{font-size:15px}.home-page .node-disc{width:102px;height:101px}.home-page .node{width:150px;min-height:150px}.home-page .node-title{font-size:13px}}
@media(max-width:1100px){
  .home-page .shell{display:block}.home-main{display:block;padding:0 4.5vw}
  .hero-copy{max-width:780px;margin:0 auto;padding:62px 0 12px;text-align:center}.hero-copy h1{font-size:clamp(49px,6vw,68px);margin:20px 0}
  .home-page .universe{height:730px;min-height:0;max-width:900px;margin:0 auto 24px}
  .home-page .node-web{--x:17%;--y:23%}.home-page .node-ai{--x:73%;--y:18%}.home-page .node-tools{--x:81%;--y:56%}.home-page .node-content{--x:22%;--y:73%}.home-page .node-references{--x:55%;--y:81%}
  .home-page .site-footer{min-height:74px}.home-page .site-header{padding:25px 4.5vw 12px}
}
@media(max-width:700px){
  .home-page .site-header{padding:max(19px,env(safe-area-inset-top)) 21px 8px;gap:14px}.home-page .brand{width:160px}.home-page nav{font-size:10px;gap:18px}.home-page .nav-services{display:none}
  .home-main{padding:0}.hero-copy{padding:47px 23px 8px;text-align:left;max-width:500px}.hero-eyebrow{font-size:9px;letter-spacing:.23em}.hero-copy h1{font-size:clamp(40px,9vw,53px);line-height:1.08;margin:19px 0 17px}.hero-copy p{font-size:13px}
  .home-page .universe{height:760px;max-width:550px;margin:0 auto 18px}
  .home-page .core{--x:50%;--y:47%;width:128px;height:128px}.core-rim-outer{inset:-7px}.core-rim-inner{inset:9px}.core-rim-inner:after{inset:8px}.core-logo{width:57px;height:57px}
  .home-page .node{width:126px;min-height:133px}.home-page .node-disc{width:86px;height:84px}.home-page .node-symbol{width:44px;height:44px}.home-page .node-mark{right:12px;bottom:11px;font-size:7px}.home-page .node-caption{margin-top:13px}.home-page .node-caption:before{margin-bottom:8px;width:18px}.home-page .node-title{font-size:11px;letter-spacing:.02em;max-width:130px}
  .home-page .node-web{--x:22%;--y:16%}.home-page .node-ai{--x:76%;--y:28%}.home-page .node-tools{--x:19%;--y:62%}.home-page .node-content{--x:76%;--y:71%}.home-page .node-references{--x:49%;--y:87%}
  .home-page .site-footer{padding-inline:21px;min-height:99px;font-size:9px;grid-template-columns:auto 1fr auto}.home-page .footer-about,.home-page .footer-contact{font-size:9px}.home-page .footer-arrow{width:15px;height:15px}.home-page .footer-legal{justify-self:center;font-size:10px}
}
@media(max-width:380px){.home-page .site-header{padding-inline:16px;gap:8px}.home-page .brand{width:139px}.home-page nav{gap:12px;font-size:9px}.hero-copy{padding-inline:20px}.home-page .node{width:119px}.home-page .node-disc{width:80px;height:78px}.home-page .node-symbol{width:41px;height:41px}.home-page .node-title{font-size:10.5px}.home-page .site-footer{padding-inline:17px;gap:6px}}
@media(prefers-reduced-motion:reduce){.home-page .node:hover .node-disc,.home-page .node:focus-visible .node-disc,.home-page .node.is-active .node-disc{transform:none}}
