/* Route-specific compositions measured from the reference pages. */
:root { --original-light: #eae8e8; --original-dark: #14151d; --original-panel: #25262d; --original-muted: #747987; --white:#eae8e8; }
.sub-menu-main a { font-size:clamp(2rem,3.2vw,3.8rem); line-height:.82; }

.sub-services-flyout {
  position: fixed;
  z-index: 420;
  top: 64px;
  left: 25%;
  right: 0;
  padding: 24px var(--pad) 30px;
  background: var(--original-dark);
  color: var(--white);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-24px);
  transition: opacity .55s var(--ease), transform .7s var(--ease), visibility .7s;
}
.sub-services-flyout.is-open { opacity: 1; visibility: visible; transform: none; }
.sub-services-flyout > button { position: absolute; right: var(--pad); top: 16px; font-size: 11px; }
.sub-services-flyout > p { margin: 0 0 22px; font: 2.6rem/1 var(--serif); }
.sub-services-flyout > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sub-services-flyout .sub-menu-card .sub-media { height: 150px; }
.sub-services-flyout.is-open .sub-menu-card { opacity:1; transform:none; }
.sub-services-flyout.is-open .sub-menu-card:nth-child(2) { transition-delay:.06s; }
.sub-services-flyout.is-open .sub-menu-card:nth-child(3) { transition-delay:.12s; }
.sub-services-flyout.is-open .sub-menu-card:nth-child(4) { transition-delay:.18s; }

/* Only contact paths documented on the previous website are displayed. */
.footer-contact-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; width:100%; max-width:760px; border-block:1px solid rgba(255,255,255,.24); }
.footer-contact-paths::before { content:"Online-Termin wählen"; grid-column:1 / -1; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:9px; letter-spacing:.1em; text-transform:uppercase; opacity:.62; }
.footer-contact-paths a { min-width:0; min-height:86px; padding:17px 20px; display:flex; flex-direction:column; justify-content:space-between; gap:12px; transition:background .32s,color .32s,padding .32s; }
.footer-contact-paths a:first-of-type { border-right:1px solid rgba(255,255,255,.16); }
.footer-contact-paths a:hover { padding-left:25px; background:rgba(255,255,255,.08); }
.footer-contact-paths span { font-size:9px; text-transform:uppercase; letter-spacing:.08em; opacity:.62; }
.footer-contact-paths strong { font:400 clamp(17px,1.7vw,25px)/1 var(--serif); }

.original-footer.sub-footer {
  position: relative;
  min-height: 118vh;
  padding: 30vh var(--pad) 4vh;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-content: space-between;
  background: #292a34;
  color: var(--white);
  overflow: hidden;
}
.original-footer .footer-curve { position: absolute; z-index: 0; left: -10%; top: -29vh; width: 120%; height: 48vh; border-radius: 0 0 50% 50%; background: var(--original-dark); border-bottom: 1px solid rgba(255,255,255,.16); }
.original-footer > *:not(.footer-curve) { position: relative; z-index: 1; }
.footer-mark { grid-column: 1; align-self: start; font: clamp(2.2rem,4vw,4rem)/1 var(--serif); }
.footer-call { grid-column: 2 / 4; align-self: start; }
.footer-call h2 { max-width: 850px; margin: 0 0 4vh; font: 400 clamp(3rem,5.4vw,5.8rem)/.9 var(--serif); }
.footer-call h2 em { font-weight: 300; }
.original-footer nav { grid-column: 2; align-self: end; display: grid; gap: 8px; }
.original-footer nav a { font: 1.65rem/1 var(--serif); }
.footer-contact { align-self: end; display: grid; gap: 8px; font-size: 11px; }

/* Service pages: 187 / 121 / 203 / 146 / 105 / 160 viewport rhythm. */
.service-opening { position: relative; height: 180vh; background: var(--original-dark); }
.service-opening .service-hero { position: sticky; top: 0; height: 100vh; min-height: 0; }
.service-opening .service-hero::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:var(--original-light); opacity:var(--service-hero-fade,0); will-change:opacity; }
.service-opening .service-intro {
  position: relative;
  z-index: 4;
  min-height: 80vh;
  margin-top: 0;
  padding: 15vh var(--pad) 8vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--original-light);
  color: var(--ink);
  transform:translate3d(0,var(--intro-panel-y,0),0);
  will-change:transform;
}
.service-opening .service-intro h2 { text-wrap:balance; opacity: var(--intro-title-opacity,1); transform: translate3d(0,var(--intro-title-y,0),0); will-change:transform,opacity; }
.service-opening .service-intro > p { opacity: var(--intro-copy-opacity,1); transform: translate3d(0,var(--intro-copy-y,0),0); will-change:transform,opacity; }
.service-opening .service-intro h2 { grid-column: 1 / -1; width: 58%; margin: 0 auto; text-align: center; font: 400 clamp(2.8rem,5vw,5.4rem)/.95 var(--serif); letter-spacing: -.035em; }
.service-opening .service-intro > p { grid-column: 2; width: 70%; margin: 5vh 0 0; line-height: 1.45; }
.service-hero .sub-hero-media { inset: 0; }
.service-hero .sub-hero-media > .sub-media { filter:grayscale(1); opacity:var(--service-media-opacity,1); }
.service-hero .sub-hero-kicker,.service-hero .sub-hero-stats { opacity:var(--service-meta-opacity,1); }
.service-hero .sub-hero-stats { bottom:auto; top:24%; }
.service-hero h1 { top:50%; bottom:auto; max-width:none; display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:.18em; margin:0; white-space:nowrap; text-wrap:nowrap; font-size:clamp(5rem,10vw,11rem); line-height:.76; transform:translateY(-50%); }
.service-title-part { display:block; min-width:0; will-change:transform; }
.service-title-part--left { justify-self:end; text-align:right; transform:translate3d(var(--service-title-left,0),0,0); }
.service-title-part--right { justify-self:start; transform:translate3d(var(--service-title-right,0),0,0); }
body[data-page="service-esthetic-dentistry"] .service-hero h1,
body[data-page="service-preventive-care"] .service-hero h1 { font-size:clamp(4.5rem,8.2vw,9.2rem); }
body[data-page="service-beyond-the-smile"] .service-hero h1 { font-size:clamp(4rem,6.8vw,7.8rem); }

.original-indicators { min-height: 100vh; padding: 3vh var(--pad) 6vh; background: var(--original-light); color: var(--ink); overflow: hidden; }
.original-indicators h2 { margin: 0; text-align: center; text-wrap:balance; font: 400 clamp(4.7rem, 9.2vw, 10rem)/.76 var(--serif); letter-spacing: -.055em; opacity:var(--indicator-title-opacity,1); transform:translate3d(0,var(--indicator-title-y,0),0); will-change:transform,opacity; }
.original-indicators h2 em { font-weight: 300; }
.original-indicators h2 span { display: block; font-size: .52em; line-height: .9; }
.indicator-viewport { width:calc(100% + 2*var(--pad)); margin-left:calc(-1*var(--pad)); overflow:hidden; }
.indicator-orbs { height: 44vh; margin-top: 4vh; display: flex; align-items: flex-end; justify-content: flex-start; width:max-content; animation:indicator-flow 34s linear infinite; will-change:transform; }
.indicator-orbs article { --size: 15vw; flex:0 0 var(--size); width: var(--size); height: var(--size); margin-left: -1vw; border: 1px solid rgba(20,21,29,.14); border-radius: 50%; display: grid; place-items: center; text-align: center; transform: translate3d(0,var(--orb-y,0px),0) scale(var(--orb-scale,1)); transform-origin:center; will-change:transform; }
.indicator-orbs article:nth-child(5n + 2), .indicator-orbs article:nth-child(5n + 4) { --size: 19vw; align-self: center; }
.indicator-orbs article:nth-child(5n) { --size: 16vw; }
.indicator-orbs article span { width: 65%; font-size: clamp(10px,1.1vw,15px); line-height: 1.15; }
@keyframes indicator-flow { to { transform:translate3d(-33.333%,0,0); } }

.original-solutions { min-height: 182vh; padding: 0; background: var(--original-dark); color: var(--white); }
.solution-feature { position: relative; height: 94vh; overflow: hidden; padding-bottom:clamp(24px,4vh,54px); }
.solution-feature > .sub-media { position: absolute; inset: 0; width: 100%; height: 100%; filter: grayscale(1); transform:translate3d(0,var(--solution-media-y,0),0) scale(var(--solution-media-scale,1)); }
.solution-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,var(--original-dark)); }
.solution-feature > p { position: absolute; z-index: 2; left: var(--pad); top: 18vh; width: 18%; opacity:var(--solution-copy-opacity,1); transform:translate3d(0,var(--solution-copy-y,0),0); }
.solution-feature > h2 { position: absolute; z-index: 2; left: var(--pad); right: var(--pad); bottom: clamp(22px,3.2vh,46px); margin: 0; display: grid; grid-template-columns:auto auto; justify-content:space-between; align-items:end; column-gap:clamp(36px,7vw,132px); white-space:nowrap; font: 400 clamp(4.8rem,9vw,9.5rem)/.84 var(--serif); letter-spacing: -.055em; transform:translate3d(0,var(--solution-title-y,0),0); will-change:transform; }
.solution-cards-panel { min-height: 88vh; padding: 4vh var(--pad) 7vh; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.original-solution-card { min-width:0; min-height: 70vh; padding: clamp(20px,2.1vw,36px); border-radius: 28px; background: var(--original-light); color: var(--ink); display: grid; grid-template-rows: 5.8rem 28vh minmax(6rem,1fr) auto; gap: clamp(14px,1.3vw,20px); opacity:var(--solution-card-opacity,1); transform:translate3d(0,var(--solution-card-y,0),0); will-change:transform,opacity; }
.original-solution-card h3 { min-width:0; margin: 0; display:flex; align-items:center; justify-content:center; text-align:center; text-wrap:balance; hyphens:auto; overflow-wrap:normal; word-break:normal; font: 400 clamp(1.4rem,1.9vw,2.4rem)/.94 var(--serif); }
.original-solution-card .sub-media { width:100%; height:100%; min-height:0; border-radius: 18px; }
.original-solution-card p { text-align: center; color: #76777d; }
.original-solution-card a { border-top: 1px solid rgba(20,21,29,.2); padding-top: 14px; text-align: right; font-size: 10px; }
body[data-page="service-preventive-care"] .solution-cards-panel { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
body[data-page="service-preventive-care"] .original-solution-card { padding:clamp(16px,1.45vw,28px); grid-template-rows:7.3rem 29vh minmax(6rem,1fr) auto; }
body[data-page="service-preventive-care"] .original-solution-card h3 { font-size:clamp(1.25rem,1.72vw,2.2rem); line-height:.94; }

.service-depth { min-height:auto; padding:12vh var(--pad); background:var(--original-dark); color:var(--white); align-items:start; }
.service-depth-heading { grid-column:1; position:sticky; top:14vh; padding-right:5vw; }
.service-depth-heading h2 { margin:1.5vh 0 3vh; font:400 clamp(2.8rem,4.8vw,5.3rem)/.92 var(--serif); letter-spacing:-.035em; }
.service-depth-heading h2 em { font-weight:300; }
.service-depth-heading > p:last-child { max-width:420px; color:#aaaab1; line-height:1.6; }
.service-depth-list { grid-column:2; }
.service-depth-list details { grid-column:auto; border-top:1px solid rgba(255,255,255,.22); }
.service-depth-list details:last-child { border-bottom:1px solid rgba(255,255,255,.22); }
.service-depth-list summary { align-items:center; gap:2rem; padding:24px 0; font:400 clamp(1.35rem,2vw,2.2rem)/1.05 var(--serif); }
.service-depth-list summary span { flex:0 0 auto; font:300 1.4rem/1 var(--sans); transition:transform .35s var(--ease); }
.service-depth-list details[open] summary span { transform:rotate(45deg); }
.service-depth-body { max-width:860px; padding:0 6vw 34px 0; color:#b7b7bd; }
.service-depth-body p { max-width:760px; margin:0; line-height:1.65; }
.service-depth-body ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:24px 0 0; padding:0; list-style:none; }
.service-depth-body li { position:relative; padding:12px 0 12px 18px; border-top:1px solid rgba(255,255,255,.12); color:#d0d0d5; font-size:11px; line-height:1.5; }
.service-depth-body li::before { content:""; position:absolute; left:0; top:18px; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.68; }
.service-depth-contact { display:inline-block; margin-top:3vh; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:11px; }
.about-career { padding-top:2vh; }

.original-gallery { min-height: 85vh; padding: 8vh 0 6vh; background: var(--original-light); color: var(--ink); overflow: hidden; }
.original-gallery h2 { margin: 0 var(--pad) 5vh; font: 400 clamp(4.5rem,9vw,9.5rem)/.77 var(--serif); }
.original-gallery h2 span { display: block; margin-left: 50%; font: 11px/1.2 var(--sans); letter-spacing: .04em; }
.gallery-viewport { display:grid; gap:12px; overflow:hidden; }
.gallery-ticker { display: flex; width: max-content; gap: 12px; transform: translate3d(var(--gallery-x,0px),0,0); animation:gallery-flow 42s ease-in-out infinite alternate; will-change:transform; }
.gallery-ticker--2 { margin-left:-14vw; animation-direction:alternate-reverse; animation-duration:47s; }
.gallery-ticker.is-manual { animation:none; transition: transform 1.05s var(--ease); }
.gallery-ticker .sub-media { width: 28vw; height: 25vh; }
.gallery-controls { display: flex; justify-content: flex-end; gap: 10px; padding: 3vh var(--pad) 0; }
.gallery-controls button, .lab-original-slider > button { width: 58px; height: 58px; border: 1px solid currentColor; border-radius: 50%; }
@keyframes gallery-flow { to { transform:translate3d(-38%,0,0); } }

/* About: six independently animated chapters. */
.about-hero { position: relative; height: 205vh; background: var(--original-dark); color: var(--white); }
.about-hero-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.about-overline { position: absolute; z-index: 4; left: 42%; top: 3vh; width: 17%; text-align: center; font-size: 10px; }
.about-marquee { position:absolute; z-index:3; top:12vh; left:50%; width:100%; display:flex; justify-content:center; gap:4vw; white-space:nowrap; transform:translate3d(calc(-50% + var(--about-title-x,0)),0,0); opacity:var(--about-title-opacity,1); pointer-events:none; }
.about-marquee span { font:400 13.2vw/.8 var(--serif); color:#aaa9ae; }
.about-hero-photo { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: 74vh; filter: grayscale(1); transform: translateY(var(--about-photo-y,0)) scale(var(--about-photo-scale,1)); opacity: var(--about-photo-opacity,1); }
.about-small { position: absolute; z-index: 4; top: 4vh; left: 50%; width: 20%; font-size: 1rem; opacity: var(--about-copy-opacity,0); transform: translateY(var(--about-copy-y,50px)); }
.about-hero-sticky > h2 { position: absolute; z-index: 4; left: 16%; bottom: 4vh; width: 67%; margin: 0; font: 400 clamp(3rem,5vw,5.8rem)/.95 var(--serif); opacity: var(--about-copy-opacity,0); transform: translateY(var(--about-copy-y,50px)); }

.about-founders { min-height:115vh; padding:5vh var(--pad) 6vh; background:var(--original-dark); }
.about-founders > .sub-kicker { text-align: center; }
.about-founders > h2 { margin:4vh 0 6vh; text-align:center; font:400 clamp(6rem,14vw,15rem)/.75 var(--serif); }
.about-founders > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.about-founders article { --founder-role-row:clamp(3.2rem,4.2vw,4.8rem); --founder-name-row:clamp(5.5rem,7vw,8.5rem); height:100%; min-width:0; padding:2.5vw; border-radius:28px; display:grid; grid-template-rows:var(--founder-role-row) var(--founder-name-row) 45vh auto; align-items:stretch; background:var(--original-light); color:var(--ink); text-align:center; }
.about-founders article > span { min-width:0; padding:0 1vw; display:flex; align-items:center; justify-content:center; line-height:1.25; text-wrap:balance; }
.about-founders article h3 { min-width:0; margin:0; padding:0 .4vw; display:flex; align-items:center; justify-content:center; font:400 clamp(2rem,3vw,4rem)/1 var(--serif); text-wrap:balance; }
.about-founders article .sub-media { width:100%; height:100%; min-height:0; border-radius:18px; background-position:center top!important; }
.about-founders article a { align-self:end; display:block; padding-top:18px; border-top:1px solid rgba(20,21,29,.2); }

.about-skilled { min-height:430vh; background:var(--original-dark); }
.skilled-intro { position:relative; height:110vh; padding:7vh var(--pad); overflow:hidden; }
.skilled-intro > .sub-media { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .62; }
.skilled-heading { position:relative; z-index:3; display:flex; justify-content:space-between; align-items:flex-start; width:100%; min-width:0; }
.skilled-intro h2 { width: 42%; margin: 0; font: 400 clamp(2.6rem,4.4vw,5rem)/.98 var(--serif); }
.skilled-heading > p { flex:0 0 auto; min-width:0; margin:0; padding-right:1vw; font:400 clamp(3rem,5vw,4rem)/1 var(--serif); text-align:right; }
.skilled-heading > p span { display:block; max-width:19ch; margin-top:.6em; font:10px/1.35 var(--sans); }
.associate-cards { position:absolute; z-index:2; left:var(--pad); right:var(--pad); top:58vh; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:20px; }
.associate-cards article { height:52vh; min-width:0; padding:18px; overflow:hidden; border-radius:28px; background:#171820; text-align:center; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; align-content:stretch; }
.associate-cards h3 { margin: 8px 0; font: 400 2rem/1 var(--serif); }
.associate-cards .sub-media { width:100%; height:100%; min-height:0; }
.staff-runway { height: 320vh; }
.staff-sticky { position:sticky; top:0; height:100vh; padding:11vh var(--pad) 7vh; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1fr) minmax(0,1.35fr); gap:3vw; align-items:center; overflow:hidden; }
.staff-eyebrow { position: absolute; left: var(--pad); top: 9vh; color: #8f9199; }
.staff-role { position:relative; min-width:0; height:28vh; overflow:visible; }
.staff-role h2 { position:absolute; inset:0; margin:0; padding:.08em .08em .18em 0; overflow:visible; overflow-wrap:anywhere; font:400 clamp(1.8rem,3vw,3.45rem)/.98 var(--serif); hyphens:auto; opacity:0; transform:translate3d(0,40px,0); transition:opacity .72s var(--ease),transform .92s var(--ease); }
.staff-role h2.is-active { opacity: 1; transform: none; }
.staff-photo { position: relative; height: 52vh; }
.staff-photo .sub-media { position: absolute; inset: 0; height: 100%; border-radius: 28px; opacity: 0; transform: scale(.94); transition: opacity .78s var(--ease),transform 1s var(--ease); }
.staff-photo .sub-media.is-active { opacity: 1; transform: scale(1); }
.staff-names { position: relative; height: 46vh; border-top: 1px solid var(--line); }
.staff-names article { position:absolute; inset:0; padding:7vh 0 1vh; display:grid; grid-template-rows:auto 1fr auto; gap:2.3vh; opacity:0; pointer-events:none; transform:translate3d(0,35px,0); transition:opacity .72s var(--ease),transform .92s var(--ease); }
.staff-names article.is-active { opacity: 1; pointer-events:auto; transform: none; }
.staff-area { color:#8f9199; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.staff-summary { max-width:28ch; margin:0; font:400 clamp(1.55rem,2.25vw,2.7rem)/1.08 var(--serif); text-wrap:balance; }
.staff-names a { align-self:end; display:flex; justify-content:space-between; align-items:center; padding-top:15px; border-top:1px solid var(--line); font-size:10px; }
.staff-names a b { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-weight:400; transition:background .35s,color .35s; }
.staff-names a:hover b { background:var(--white); color:var(--original-dark); }

.about-chronology { height: 430vh; background: var(--original-dark); }
.chronology-sticky { position: sticky; top: 0; height: 100vh; padding: 4vh var(--pad); display: grid; grid-template-columns: 36% 12% 1fr; gap: 3vw; overflow: hidden; }
.chronology-media { position: relative; height: 92vh; }
.chronology-media .sub-media { position: absolute; inset: 0; height: 100%; opacity: 0; transform: scale(.96); transition: opacity .82s var(--ease),transform 1.05s var(--ease); }
.chronology-media .sub-media.is-active { opacity: 1; transform: scale(1); }
.chronology-sticky ol { list-style: none; margin: 0; padding: 25vh 0 0; border-right: 1px solid var(--line); }
.chronology-sticky li { padding: 8px 0; color: #777983; font-size: 10px; transition: color .62s var(--ease-soft),transform .76s var(--ease); }
.chronology-sticky li.is-active { color: var(--white); transform: translateX(8px); }
.chronology-copy { position: relative; margin-top: 28vh; height: 28vh; }
.chronology-copy article { position: absolute; inset: 0; opacity: 0; transform: translate3d(0,35px,0); transition: opacity .72s var(--ease),transform .92s var(--ease); }
.chronology-copy article.is-active { opacity: 1; transform: none; }
.chronology-copy h2 { font: 400 clamp(1.4rem,2vw,2.2rem)/1.1 var(--sans); }
.chronology-stat { position: absolute; left: 53%; bottom: 5vh; font: 400 3rem/1 var(--serif); }
.chronology-stat span { font: 9px var(--sans); }

.about-mission { min-height: 155vh; padding: 8vh var(--pad); background: var(--original-light); color: var(--ink); overflow: hidden; }
.about-mission > h2 { margin: 0; font: 400 clamp(5rem,10vw,11rem)/.72 var(--serif); letter-spacing: -.06em; }
.about-mission > h2 em { font-weight: 300; }
.mission-copy { margin: 10vh 0 6vh; display: grid; grid-template-columns: 1fr 1fr; }
.mission-copy p:last-child { max-width: 480px; }
.mission-slider { display: flex; gap: 16px; width: max-content; transform: translate3d(var(--mission-x,0),0,0); will-change:transform; }
.mission-slider .sub-media { width: 32vw; height: 64vh; }
.mission-progress { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; margin-top:3vh; font-size:10px; }
.mission-progress i { height:1px; background:rgba(20,21,29,.25); transform-origin:left; transform:scaleX(var(--mission-progress,.1)); }

.about-join { height: 320vh; background: #000; }
.join-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: grid; place-items: center; background: rgb(var(--join-bg,0 0 0)); color: rgb(var(--join-fg,247 244 239)); }
.join-side { position: absolute; top: 50%; font-size: 10px; }.join-side--left { left: var(--pad); }.join-side--right { right: var(--pad); }
.join-orbit { width: var(--join-size,48vw); height: var(--join-size,48vw); border-radius: 50%; background: rgb(var(--join-circle,247 244 239)); color: rgb(var(--join-circle-text,20 21 29)); display: grid; place-items: center; box-shadow: 0 0 35px rgba(255,255,255,.18); transform: scale(var(--join-scale,1)); opacity:var(--join-orbit-opacity,1); transition:opacity .66s var(--ease-soft); }
.join-orbit::after { content:""; position:absolute; width: var(--join-hole,18vw); height: var(--join-hole,18vw); border-radius:50%; background: rgb(var(--join-bg,0 0 0)); }
.join-orbit p { position: absolute; z-index: 2; width: 180px; margin: 0; text-align: center; font: 400 2rem/.9 var(--serif); opacity: 0; transition: opacity .5s; }
.join-orbit p.is-active { opacity: 1; }
.join-cta { position: absolute; top:58%; left:50%; width:min(92vw,1180px); text-align: center; opacity: var(--join-cta-opacity,0); transform:translate(-50%,calc(-50% + var(--join-cta-y,60px))); }
.join-cta h2 { margin: 0; font: 400 clamp(5rem,9.2vw,9.5rem)/.76 var(--serif); letter-spacing:-.055em; }
.join-cta a { display: inline-flex; margin-top: 5vh; padding: 16px 30px; border-radius: 999px; background: var(--original-dark); color: var(--white); }

/* Technology route. */
.tech-opening { position:relative; background:var(--original-dark); }
.tech-original-hero { position:sticky; z-index:0; top:0; height:100vh; overflow:hidden; background:var(--original-dark); }
.tech-original-hero > .sub-media { position:absolute; inset:0; width:100%; height:100%; transform:none; opacity:var(--tech-hero-media-opacity,1); filter:brightness(var(--tech-hero-brightness,1)); will-change:opacity,filter; }
.tech-original-hero::after { content:""; position:absolute; inset:0; background:rgba(16,18,26,var(--tech-hero-shade,0)); }
.tech-original-hero > p { position:absolute; z-index:2; top:4vh; left:50%; width:min(300px,32vw); margin:0; text-align:center; transform:translateX(-50%); opacity:var(--tech-hero-kicker-opacity,1); }
.tech-original-hero h1 { position:absolute; z-index:2; left:var(--pad); right:var(--pad); bottom:5vh; display:flex; justify-content:space-between; gap:4vw; margin:0; font:400 clamp(6rem,14.5vw,14rem)/.7 var(--serif); color:var(--white); mix-blend-mode:difference; }
.tech-original-hero h1 span { display:block; will-change:transform,opacity; }
.tech-original-hero h1 span:first-child { transform:translate3d(var(--tech-title-left,0),0,0); }
.tech-original-hero h1 span:last-child { transform:translate3d(var(--tech-title-right,0),0,0); }
.tech-original-tools { position:relative; z-index:2; min-height:155vh; padding:39vh var(--pad) 9vh; margin-top:0; background:linear-gradient(180deg,rgba(20,21,29,0),rgba(20,21,29,.96) 30vh,var(--original-dark) 43vh); color:var(--white); }
.tech-original-tools > p { width:40%; margin:0 0 7vh 50%; }
.tech-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.tech-card-grid article { position:relative; height:51vh; min-height:350px; padding:7px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--original-panel); display:grid; grid-template-rows:22vh auto 1fr auto; gap:12px; opacity:var(--tech-card-opacity,1); transform:translate3d(0,var(--tech-card-y,0),0); transition:border-color .65s var(--ease),background-color .65s var(--ease); }
.tech-card-grid article > .sub-media { grid-row:1; width:100%; height:100%; border-radius:18px; opacity:.82; transform:scale(1.045); transition:opacity .72s var(--ease),transform 1.05s var(--ease); }
.tech-card-grid article > span { position:absolute; z-index:2; top:20px; left:20px; padding:5px 8px; border-radius:99px; background:rgba(20,21,29,.58); }
.tech-card-grid article:hover { border-color:rgba(238,234,229,.5); background:rgba(255,255,255,.025); }
.tech-card-grid article:hover > .sub-media,.tech-card-grid article.is-active > .sub-media { opacity:1; transform:scale(1); }
.tech-card-grid h2 { grid-row:2; margin:0 14px; font:400 clamp(1.45rem,2vw,2.45rem)/.96 var(--serif); text-wrap:balance; }
.tech-card-grid article > p { grid-row:3; margin:0 14px; color:#92949c; font-size:11px; }
.tech-card-grid a { grid-row:4; margin:0 14px 12px; padding-top:10px; border-top:1px solid var(--line); font-size:10px; }
.tech-original-lab { position:relative; z-index:3; height:145vh; margin-top:-14vh; padding-top:14vh; overflow:hidden; background:var(--original-dark); }
.tech-original-lab > .sub-media { position:absolute; z-index:0; inset:0; width:100%; height:100%; transform:none; opacity:var(--tech-lab-media-opacity,.18); filter:blur(var(--tech-lab-media-blur,12px)); will-change:opacity,filter; }
.tech-original-lab::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,var(--original-dark) 0,rgba(20,21,29,.98) 12vh,rgba(20,21,29,.72) 31vh,rgba(20,21,29,0) 58vh); }
.tech-original-lab::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:rgba(20,21,29,.42); }
.tech-original-lab > div { position:sticky; z-index:2; top:0; min-height:100vh; padding:15vh var(--pad); display:grid; grid-template-columns:1fr 1fr; align-content:center; }
.tech-lab-quote { width:min(240px,22vw); align-self:start; }
.tech-original-lab h2 { grid-column:1/-1; margin:6vh 0; font:400 clamp(6rem,13vw,14rem)/.72 var(--serif); opacity:var(--tech-lab-title-opacity,.12); filter:blur(var(--tech-lab-title-blur,18px)); transform:translate3d(var(--tech-lab-title-x,30vw),0,0); will-change:transform,opacity,filter; }
.tech-original-lab > div > p:last-of-type,.tech-original-lab > div > a { opacity:var(--tech-lab-copy-opacity,0); transform:translate3d(0,var(--tech-lab-copy-y,30px),0); }

/* Laboratory route. */
.lab-original-hero { position:relative; z-index:0; height:100vh; padding:2vh var(--pad); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:center; overflow:hidden; background:var(--original-dark); }
.lab-original-hero > * { min-width:0; }
.lab-original-hero > div:first-child { padding-right:8vw; }
.lab-original-hero h1 { font:400 clamp(4rem,7vw,7.5rem)/.86 var(--serif); }
.lab-original-hero > .sub-media { width:100%; height:80vh; margin-top:16vh; transform:none; }
.lab-original-details { position:relative; z-index:2; min-height:165vh; padding:0 var(--pad) 7vh; background:var(--original-dark); color:var(--white); }
.lab-benefits { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(20,21,29,.2); }
.lab-benefits article { min-height:20vh; padding:20px; border-right:1px solid var(--line); border-radius:0 0 26px 26px; background:var(--original-panel); opacity:var(--lab-benefit-opacity,1); transform:translate3d(0,var(--lab-benefit-y,0),0); }
.lab-benefits h2 { font:400 1.5rem/1 var(--serif); }
.lab-big-copy { width:72%; margin:11vh auto; font:400 clamp(3.5rem,6vw,7rem)/.95 var(--serif); }
.lab-photo-copy { display:grid; grid-template-columns:42.6% 1fr; gap:20vw; align-items:center; }
.lab-photo-copy .sub-media { width:100%; height:60vh; transform:none; }
.lab-photo-copy h2 { font:400 clamp(2.7rem,4vw,4.8rem)/.95 var(--serif); }
.lab-original-slider { position:relative; height:64vh; padding:5vh var(--pad); overflow:hidden; }
.lab-original-slider > div { display:flex; gap:16px; width:max-content; transform:translate3d(var(--lab-slider-x,0),0,0); transition:transform 1.05s var(--ease); will-change:transform; }
.lab-original-slider .sub-media { width:42vw; height:52vh; }
.lab-original-slider > button { position:absolute; top:50%; z-index:2; background:var(--original-light); color:var(--ink); }.lab-original-slider > button[data-gallery-prev]{left:var(--pad)}.lab-original-slider > button[data-gallery-next]{right:var(--pad)}
.lab-original-faq { min-height:45vh; padding:5vh var(--pad); background:var(--original-dark); color:var(--white); display:grid; grid-template-columns:1fr 2fr; }
.lab-original-faq h2 { font:400 clamp(2.5rem,4vw,4.5rem)/1 var(--serif); }
.lab-original-faq details { grid-column:2; border-top:1px solid rgba(20,21,29,.2); }
.lab-original-faq summary { display:flex; justify-content:space-between; padding:18px 0; list-style:none; cursor:pointer; }

.scroll-fill { display:inline; }
.scroll-fill-char { color:#424346; transition:color .16s linear; }
.scroll-fill-char.is-filled { color:rgb(238,234,229); }

/* Contact and FAQ routes. */
.contact-original { position:relative; min-height:100vh; padding:0; overflow:hidden; }
.contact-original > h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-location-stage { display:flex; height:100vh; background:var(--original-light); }
.contact-location-stage article { position:relative; flex:1 1 0; min-width:0; overflow:hidden; border-right:1px solid rgba(20,21,29,.12); color:var(--ink); opacity:var(--contact-card-opacity,1); transform:translate3d(0,var(--contact-card-y,0),0); transition:flex-grow 1.05s var(--ease),color .82s var(--ease),opacity .72s var(--ease); will-change:flex-grow,transform,opacity; }
.contact-location-stage:has(article:hover) article:not(:hover),.contact-location-stage:has(article:focus-within) article:not(:focus-within) { flex-grow:1; opacity:.72; }
.contact-location-stage article:hover,.contact-location-stage article:focus-within { flex-grow:2; color:var(--white); opacity:1; outline:none; }
.contact-location-stage .sub-media { position:absolute; inset:0; width:100%; height:100%; opacity:.08; filter:grayscale(1) blur(10px); transform:scale(1.08); transition:opacity .9s var(--ease),transform 1.25s var(--ease),filter 1.05s var(--ease); }
.contact-location-stage article::after { content:""; position:absolute; inset:0; background:rgba(234,232,232,.9); transition:background .92s var(--ease); }
.contact-location-stage article:hover::after,.contact-location-stage article:focus-within::after { background:linear-gradient(180deg,rgba(20,21,29,.08),rgba(20,21,29,.82)); }
.contact-location-stage article:hover .sub-media,.contact-location-stage article:focus-within .sub-media { opacity:1; filter:grayscale(0) blur(0); transform:scale(1); }
.contact-location-copy { position:absolute; z-index:2; left:clamp(18px,2.2vw,34px); right:clamp(18px,2.2vw,34px); bottom:5vh; transform:translate3d(0,24px,0); transition:transform .85s var(--ease); }
.contact-location-stage article:hover .contact-location-copy { transform:none; }
.contact-location-stage h2 { margin:2vh 0; font:400 clamp(3rem,5.2vw,6rem)/.86 var(--serif); }
.contact-location-phone { display:inline-block; margin-top:1vh; font:400 clamp(1.45rem,2.2vw,2.6rem)/1 var(--serif); }
.contact-location-extra { max-height:0; overflow:hidden; opacity:0; transform:translate3d(0,28px,0); transition:max-height .95s var(--ease),opacity .68s var(--ease),transform .88s var(--ease); }
.contact-location-stage article:hover .contact-location-extra,.contact-location-stage article:focus-within .contact-location-extra { max-height:32vh; opacity:1; transform:none; }
.contact-location-stage dl { margin:3vh 0; display:grid; gap:8px; font-size:10px; opacity:.72; }
.contact-location-stage dl div { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.2); padding-top:8px; }
.contact-location-stage dd { margin:0; }
.contact-location-actions { display:grid; gap:8px; }
.contact-location-actions a { display:flex; justify-content:space-between; padding-top:12px; border-top:1px solid currentColor; font-size:10px; }
.faq-original { min-height:250vh; padding:12vh var(--pad); background:var(--original-dark); }
.faq-title { position:sticky; z-index:1; top:12vh; height:72vh; opacity:var(--faq-title-opacity,1); transform:translate3d(0,var(--faq-title-y,0),0); pointer-events:none; will-change:opacity,transform; }
.faq-title p,.faq-title h1 { margin:0; font:400 clamp(7rem,16vw,17rem)/.65 var(--serif); }
.faq-title h1 { margin-left:30%; }
.faq-groups { position:relative; z-index:2; margin-left:35%; }
.faq-groups > section { min-height:48vh; padding-top:6vh; opacity:var(--faq-group-opacity,1); transform:translate3d(0,var(--faq-group-y,0),0); }
.faq-groups h2 { font:400 clamp(3rem,5vw,5.5rem)/1 var(--serif); }
.faq-groups details { border-top:1px solid var(--line); }
.faq-groups summary { display:flex; justify-content:space-between; padding:22px 0; list-style:none; cursor:pointer; }
.faq-groups details p { padding-bottom:28px; color:#9da0a8; }
@media (max-width: 900px) {
  .sub-services-flyout { left: 0; top: 58px; }
  .sub-services-flyout > div { grid-template-columns:1fr 1fr; }
  .sub-services-flyout .sub-menu-card .sub-media { height:90px; }
  .service-opening { height:175vh; }
  .service-opening .service-hero { position:sticky; }
  .service-hero h1 { top:52%; max-width:calc(100% - 2*var(--pad)); grid-template-columns:1fr; justify-items:center; row-gap:.08em; white-space:normal; font-size:clamp(3rem,12vw,6rem); line-height:.8; }
  body[data-page="service-esthetic-dentistry"] .service-hero h1,
  body[data-page="service-preventive-care"] .service-hero h1,
  body[data-page="service-beyond-the-smile"] .service-hero h1 { font-size:clamp(2.7rem,10.5vw,5.4rem); }
  .service-title-part--left,.service-title-part--right { justify-self:center; text-align:center; }
  .service-hero .sub-hero-stats { top:27%; }
  .service-opening .service-intro { min-height:80vh; grid-template-columns:1fr; }
  .service-opening .service-intro h2 { width:100%; }
  .service-opening .service-intro > p { grid-column:1; width:100%; }
  .original-indicators h2 { font-size:15vw; }
  .indicator-viewport { margin-inline:calc(var(--pad) * -1); padding-inline:var(--pad); }
  .indicator-orbs { height:48vh; padding-top:4vh; }
  .indicator-orbs article { --size:40vw; margin-left:-3vw; }
  .indicator-orbs article:nth-child(5n + 2),.indicator-orbs article:nth-child(5n + 4) { --size:47vw; }
  .indicator-orbs article:nth-child(5n) { --size:42vw; }
  .solution-feature > p { width:60%; }
  .solution-feature > h2 { display:grid; grid-template-columns:1fr; gap:0; white-space:normal; font-size:16vw; line-height:.82; }
  .solution-cards-panel,body[data-page="service-preventive-care"] .solution-cards-panel { grid-template-columns:1fr; }
  .original-solution-card,body[data-page="service-preventive-care"] .original-solution-card { min-height:68vh; grid-template-rows:auto 38vh auto auto; padding:22px; }
  .original-solution-card h3,body[data-page="service-preventive-care"] .original-solution-card h3 { min-height:3.3em; font-size:clamp(1.8rem,8vw,2.8rem); }
  .service-depth { grid-template-columns:1fr; padding-block:10vh; }
  .service-depth-heading { grid-column:1; position:static; padding:0 0 6vh; }
  .service-depth-list { grid-column:1; }
  .service-depth-body { padding-right:0; }
  .service-depth-body ul { grid-template-columns:1fr; }
  .gallery-ticker .sub-media { width:72vw; }
  .original-footer.sub-footer { min-height:auto; padding-top:27vh; grid-template-columns:1fr; gap:5vh; }
  .footer-call,.original-footer nav { grid-column:1; }
  .footer-contact-paths { grid-template-columns:1fr; }
  .footer-contact-paths a:first-of-type { border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .about-hero { height:180vh; }
  .about-marquee span { font-size:28vw; }
  .about-hero-photo { height:68vh; }
  .about-hero-sticky > h2 { left:var(--pad); width:calc(100% - 36px); font-size:10vw; }
  .about-founders > div,.associate-cards { grid-template-columns:1fr; position:relative; top:auto; bottom:auto; }
  .about-founders > h2 { font-size:14vw; }
  .about-founders article { grid-template-rows:auto auto 50vh auto; gap:2vh; padding:22px; }
  .about-founders article .sub-media { height:50vh; }
  .about-skilled { min-height:auto; }
  .skilled-intro { height:auto; min-height:270vh; }
  .skilled-intro > div:not(.associate-cards) { display:block; }
  .skilled-intro h2 { width:100%; }
  .staff-runway { display:none; }
  .chronology-sticky { grid-template-columns:1fr; padding-top:10vh; }
  .chronology-media { height:48vh; }
  .chronology-sticky ol { display:flex; gap:12px; padding:2vh 0; border:0; overflow:hidden; }
  .chronology-copy { margin:0; }
  .chronology-stat { left:auto; right:var(--pad); }
  .mission-copy { grid-template-columns:1fr; gap:3vh; }
  .mission-slider .sub-media { width:75vw; height:58vh; }
  .about-mission > h2 { font-size:16vw; line-height:.8; }
  .mission-progress { margin-inline:0; }
  .join-orbit { width:82vw; height:82vw; }
  .join-side { top:15vh; }
  .join-cta h2 { font-size:19vw; }
  .tech-card-grid { grid-template-columns:1fr; }
  .tech-original-hero h1 { bottom:8vh; flex-direction:column; gap:0; font-size:14vw; }
  .tech-original-hero h1 span:last-child { text-align:right; }
  .tech-original-tools { padding-top:62vh; }
  .tech-card-grid article { min-height:70vh; grid-template-rows:38vh auto 1fr auto; }
  .tech-original-tools { min-height:auto; }
  .tech-original-tools > p { width:100%; margin-left:0; }
  .tech-original-lab > div { grid-template-columns:1fr; }
  .lab-original-hero,.lab-photo-copy,.lab-original-faq { grid-template-columns:minmax(0,1fr); height:auto; min-height:100vh; }
  .lab-original-hero h1 { max-width:100%; font-size:clamp(2rem,8.3vw,3rem); overflow-wrap:anywhere; word-break:break-word; }
  .lab-original-hero h1 em { display:block; }
  .lab-original-hero > div:first-child { padding-right:0; }
  .lab-original-hero > div:first-child p { display:block; width:100%; max-width:100%; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
  .lab-original-hero > .sub-media { height:58vh; margin-top:0; }
  .lab-original-details { min-height:auto; padding-top:7vh; }
  .lab-photo-copy { gap:6vh; }
  .lab-benefits { grid-template-columns:1fr 1fr; }
  .lab-big-copy { width:100%; }
  .lab-original-faq details { grid-column:1; }
  .contact-original { min-height:auto; overflow:visible; }
  .contact-original > h1 { position:relative; width:auto; height:auto; overflow:visible; clip-path:none; padding:18vh var(--pad) 8vh; font:400 clamp(4.4rem,18vw,8rem)/.82 var(--serif); }
  .contact-location-stage { display:block; height:auto; }
  .contact-location-stage article { height:92vh; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); color:var(--white); }
  .contact-location-stage .sub-media { height:100%; opacity:.72; filter:grayscale(0) blur(0); }
  .contact-location-stage article::after { background:linear-gradient(180deg,rgba(20,21,29,.08),rgba(20,21,29,.82)); }
  .contact-location-extra { max-height:34vh; opacity:1; transform:none; }
  .faq-title { position:relative; height:auto; }
  .faq-title p,.faq-title h1 { font-size:15vw; }
  .faq-title h1 { margin-left:18%; }
  .faq-groups { margin-left:0; }
}

@media (prefers-reduced-motion: reduce) {
  .about-hero-photo,.about-hero-sticky>h2,.about-small,.mission-slider,.gallery-ticker,.indicator-orbs { transform:none!important; animation:none!important; }
}

/* Dentallexikon: the complete A-Z archive in one searchable, editorial route. */
body[data-page="dentallexikon"] { background:#ece9e4; color:var(--original-dark); }
.lexicon-hero { position:relative; height:155vh; background:var(--original-dark); color:var(--white); }
.lexicon-hero-sticky { position:sticky; top:0; height:100vh; min-height:680px; overflow:hidden; padding:15vh var(--pad) 7vh; isolation:isolate; }
.lexicon-hero-sticky::before,.lexicon-hero-sticky::after { content:""; position:absolute; z-index:-1; width:52vw; height:52vw; border:1px solid rgba(234,232,232,.14); border-radius:50%; }
.lexicon-hero-sticky::before { left:-28vw; top:-22vw; transform:translate3d(calc(var(--lexicon-hero-progress,0) * 18vw),calc(var(--lexicon-hero-progress,0) * 16vw),0); }
.lexicon-hero-sticky::after { right:-27vw; bottom:-34vw; transform:translate3d(calc(var(--lexicon-hero-progress,0) * -14vw),calc(var(--lexicon-hero-progress,0) * -18vw),0); }
.lexicon-eyebrow { margin:0; text-transform:uppercase; letter-spacing:.15em; font-size:9px; color:#a8a9ae; }
.lexicon-hero h1 { position:absolute; z-index:2; inset:34% var(--pad) auto; margin:0; display:flex; justify-content:space-between; align-items:baseline; font:400 clamp(6rem,13.2vw,14.8rem)/.72 var(--serif); letter-spacing:-.065em; }
.lexicon-hero h1 span { transform:translate3d(var(--lexicon-title-left,0),0,0); }
.lexicon-hero h1 em { font-weight:300; transform:translate3d(var(--lexicon-title-right,0),0,0); }
.lexicon-hero-copy { position:absolute; left:var(--pad); bottom:6vh; width:min(360px,32vw); margin:0; color:#a8a9ae; font-size:12px; line-height:1.55; opacity:var(--lexicon-copy-opacity,1); }
.lexicon-hero-sticky>a { position:absolute; right:var(--pad); bottom:6vh; width:190px; height:64px; border:1px solid rgba(234,232,232,.25); border-radius:99px; padding:0 10px 0 23px; display:flex; align-items:center; justify-content:space-between; font-size:10px; }
.lexicon-hero-sticky>a span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--white); color:var(--original-dark); }
.lexicon-intro { min-height:82vh; padding:10vh var(--pad); display:grid; grid-template-columns:1fr 2.2fr; gap:3vw; align-content:center; background:#aab1c1; color:var(--original-dark); }
.lexicon-intro>p:first-child { margin:1.2em 0 0; text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.lexicon-intro h2 { margin:0; font:400 clamp(3.4rem,7vw,7.8rem)/.92 var(--serif); letter-spacing:-.045em; }
.lexicon-intro .scroll-fill-char { color:rgba(20,21,29,.18); }.lexicon-intro .scroll-fill-char.is-filled { color:var(--original-dark); }
.lexicon-intro>p:last-child { grid-column:2; width:min(520px,72%); margin:4vh 0 0 auto; line-height:1.65; }
.lexicon-directory { position:relative; padding:0 var(--pad) 10vh; background:#ece9e4; color:var(--original-dark); }
.lexicon-tools { position:sticky; z-index:12; top:64px; min-height:132px; margin:0 calc(var(--pad) * -1); padding:20px var(--pad) 16px; display:grid; grid-template-columns:minmax(250px,1fr) 2.2fr auto; gap:2vw; align-items:end; background:rgba(236,233,228,.94); border-bottom:1px solid rgba(20,21,29,.18); backdrop-filter:blur(18px); }
.lexicon-tools label { display:grid; gap:9px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.lexicon-tools input { width:100%; border:0; border-bottom:1px solid rgba(20,21,29,.35); padding:10px 0; background:transparent; border-radius:0; outline:0; font:400 clamp(1.25rem,1.9vw,2.1rem)/1.1 var(--serif); color:var(--original-dark); }
.lexicon-tools input:focus { border-color:var(--original-dark); }
.lexicon-alphabet { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.lexicon-alphabet button { width:30px; height:30px; border:1px solid rgba(20,21,29,.16); border-radius:50%; display:grid; place-items:center; font-size:9px; transition:background .42s var(--ease),color .42s var(--ease),transform .42s var(--ease); }
.lexicon-alphabet button:first-child { width:auto; padding-inline:13px; border-radius:99px; }
.lexicon-alphabet button:hover:not(:disabled) { transform:translateY(-3px); }.lexicon-alphabet button.is-active { background:var(--original-dark); color:var(--white); }.lexicon-alphabet button:disabled { opacity:.22; cursor:not-allowed; }
.lexicon-result { min-width:90px; margin:0 0 8px; text-align:right; font-size:10px; color:#676970; }
.lexicon-groups { position:relative; overflow:clip; opacity:1; transform:translate3d(0,0,0); transition:opacity .72s cubic-bezier(.18,.74,.18,1),transform .92s cubic-bezier(.16,.86,.22,1); will-change:opacity,transform; }
.lexicon-groups.is-switching-out { opacity:0; transform:translate3d(0,-28px,0); transition-duration:.2s,.26s; transition-timing-function:cubic-bezier(.55,0,.85,.35); }
.lexicon-groups.is-switching-in { opacity:0; transform:translate3d(0,min(24vh,190px),0); transition:none; }
.lexicon-group { scroll-margin-top:205px; padding:7vh 0 5vh; border-bottom:1px solid rgba(20,21,29,.18); }
.lexicon-group[hidden],.lexicon-entry[hidden],.lexicon-no-results[hidden] { display:none!important; }
.lexicon-group>header { display:grid; grid-template-columns:1fr 2fr auto; gap:2vw; align-items:baseline; margin-bottom:4vh; }
.lexicon-group>header>span { font:400 clamp(6rem,14vw,15rem)/.65 var(--serif); letter-spacing:-.06em; }
.lexicon-group>header h2 { margin:0; font:400 clamp(2rem,4vw,4.6rem)/1 var(--serif); }.lexicon-group>header small { font-size:9px; }
.lexicon-group>div { margin-left:34%; border-top:1px solid rgba(20,21,29,.2); }
.lexicon-entry { min-height:150px; padding:24px 0 28px; display:grid; grid-template-columns:minmax(210px,.8fr) 1.35fr; gap:4vw; border-bottom:1px solid rgba(20,21,29,.15); opacity:0; transform:translate3d(0,34px,0); transition:opacity .8s var(--ease),transform 1s var(--ease); }
.lexicon-entry.is-visible { opacity:1; transform:none; }
.lexicon-entry h3 { margin:0; font:400 clamp(1.8rem,3vw,3.4rem)/1 var(--serif); letter-spacing:-.025em; }
.lexicon-entry p { max-width:740px; margin:0; line-height:1.65; color:#5c5e64; }
.lexicon-empty,.lexicon-no-results { margin:0; padding:34px 0; color:#74767d; }.lexicon-no-results { min-height:42vh; display:grid; place-items:center; text-align:center; }
.lexicon-note { min-height:55vh; padding:9vh var(--pad); display:grid; grid-template-columns:1fr 1.7fr; gap:4vw; align-content:center; background:var(--original-dark); color:var(--white); }
.lexicon-note>span { text-transform:uppercase; letter-spacing:.15em; font-size:9px; color:#8f9199; }
.lexicon-note p { margin:0; font:400 clamp(2.4rem,4.8vw,5.4rem)/1 var(--serif); letter-spacing:-.035em; }.lexicon-note a { grid-column:2; justify-self:start; margin-top:5vh; padding-bottom:10px; border-bottom:1px solid currentColor; font-size:10px; }

/* A compact static legal route. Shared navigation remains functional, the document itself does not animate. */
body[data-page="impressum"] { background:#ece9e4; color:var(--original-dark); }
.legal-imprint { min-height:100vh; padding:14vh var(--pad) 8vh; background:#ece9e4; color:var(--original-dark); }
.legal-imprint>header { display:grid; grid-template-columns:1fr 2fr; gap:2vw; padding-bottom:6vh; border-bottom:1px solid rgba(20,21,29,.2); }
.legal-imprint>header>p { margin:1em 0 0; text-transform:uppercase; letter-spacing:.14em; font-size:9px; }.legal-imprint h1 { margin:0; font:400 clamp(5rem,11vw,12rem)/.75 var(--serif); letter-spacing:-.055em; }.legal-imprint>header>span { grid-column:2; color:#686a70; }
.legal-grid { margin:0 0 0 33.33%; }.legal-grid section { padding:3.5vh 0; display:grid; grid-template-columns:minmax(190px,.7fr) 1.3fr; gap:3vw; border-bottom:1px solid rgba(20,21,29,.16); }.legal-grid h2 { min-width:0; margin:0; padding-right:2vw; font:400 clamp(1.7rem,2.5vw,2.9rem)/1 var(--serif); hyphens:auto; overflow-wrap:anywhere; }.legal-grid p,.legal-grid ul { min-width:0; margin:0; line-height:1.72; color:#4f5157; }.legal-grid section>p+ p { grid-column:2; }.legal-grid ul { padding:0; list-style:none; }.legal-grid a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }.legal-grid .legal-dispute { grid-template-columns:minmax(190px,.7fr) 1.3fr; }
.subpage--static .sub-loader { display:none; }.subpage--static main *,.subpage--static main *::before,.subpage--static main *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.subpage--static .sub-cursor { display:none; }.subpage--static.is-route-leaving::after,html:has(body.subpage--static) body::before { display:none!important; animation:none!important; transition:none!important; }
.subpage--static .sub-header { background:rgba(247,244,239,.97); color:var(--original-dark); box-shadow:0 1px 0 rgba(20,21,29,.1); backdrop-filter:blur(12px); }
.subpage--static .sub-header .sub-call { background:var(--original-dark); color:var(--original-light); }

@media (max-width:900px) {
  .lexicon-hero { height:142vh; }.lexicon-hero-sticky { min-height:620px; padding-top:18vh; }.lexicon-hero h1 { top:34%; display:block; text-align:center; font-size:22vw; }.lexicon-hero h1 em { display:block; }.lexicon-hero-copy { width:70%; bottom:15vh; }.lexicon-hero-sticky>a { bottom:4vh; left:var(--pad); right:auto; }.lexicon-intro { min-height:88vh; grid-template-columns:1fr; }.lexicon-intro h2 { font-size:12vw; }.lexicon-intro>p:last-child { grid-column:1; width:100%; }.lexicon-tools { top:60px; min-height:auto; grid-template-columns:1fr; padding-top:18px; }.lexicon-alphabet { justify-content:flex-start; max-height:72px; overflow:auto; }.lexicon-result { position:absolute; right:var(--pad); top:23px; }.lexicon-group { scroll-margin-top:245px; padding-top:9vh; }.lexicon-group>header { grid-template-columns:1fr auto; }.lexicon-group>header h2 { display:none; }.lexicon-group>div { margin-left:0; }.lexicon-entry { grid-template-columns:1fr; min-height:0; gap:18px; }.lexicon-note { grid-template-columns:1fr; min-height:62vh; }.lexicon-note a { grid-column:1; }.legal-imprint { padding-top:17vh; }.legal-imprint>header { grid-template-columns:1fr; }.legal-imprint>header>span { grid-column:1; }.legal-grid { margin-left:0; }.legal-grid section,.legal-grid .legal-dispute { grid-template-columns:1fr; gap:18px; }.legal-grid section>p+ p { grid-column:1; }
}
